Отображение JList в апплете - PullRequest
       4

Отображение JList в апплете

1 голос
/ 16 августа 2010

ОК, поэтому всякий раз, когда я открываю новое окно приложения с моим кодом ... JList не показывает, пока я не нажму на него ... как сделать так, чтобы все значения появлялись при запуске апплета?

спасибо.

import java.awt.*;
import javax.swing.*;
import javax.swing.JList;
import java.awt.event.*;
import java.util.*;

public class inventory extends JApplet implements MouseListener {

    public static String newline;
    public static JList list;
    int gold = 123;

    public void init() {

        ArrayList<String> arr = new ArrayList<String>();
        arr.add("Hatchet");
        arr.add("Sword");
        arr.add("Shield");
        arr.add(gold + " Gold");
        System.out.println("You have " + arr.size() + " items in your inventory.");
        showInventory(arr);

        list = new JList(arr.toArray());

        add(list);

        list.addMouseListener(this);

        list.setVisible(true);
    }

    public static void showInventory(ArrayList<String> theList) {
        for (int i = 0; i < theList.size(); i++) {
            System.out.println(theList.get(i));
        }
    }

    public void mousePressed(MouseEvent e) {
    }

    public void mouseReleased(MouseEvent e) {
        Object index = list.getSelectedValue();
        System.out.println("You have selected: " + index);
    }

    public void mouseEntered(MouseEvent e) {
    }

    public void mouseExited(MouseEvent e) {
    }

    public void mouseClicked(MouseEvent e) {
    }

    public void paint(Graphics g) {
    }
}

Ответы [ 2 ]

2 голосов
/ 16 августа 2010

Вы хотите

this.setVisible(true);

вместо

list.setVisible(true);
1 голос
/ 16 августа 2010

Попробуйте установить list.setVisible(true); до list.addMouseListener(this);.Кроме того, на меня ничего не выпрыгивает.

...