java - 在 Applet 中显示 JList

标签 java jlist

好吧,所以每当我用我的代码打开一个新的 appelt 窗口时...JList 不会显示,直到我单击它...我如何才能让它在我启动 applet 时显示所有值?

谢谢。

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) {
    }
}

最佳答案

你想要

this.setVisible(true);

而不是

list.setVisible(true);

关于java - 在 Applet 中显示 JList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3489432/

相关文章:

java - 在我的 JList 上添加滚动

java - 如何修复Java中的LazyInitializationException?

java - setText 方法不更新 JLabel,getText() 返回正确的字符串

java - jar 的 URL 问题

java - 使用 Java 8 Stream 读取文本文件 block

java - 为什么我不能首先在 Java 中获得鼠标点击计数 == 2?

Java 实例化通用 hashmap 值

java - 尝试从 DefaultListModel 对象中删除元素

java - Scrollpane中的jList,查找并显示selectedIndex的值

java - valueChanged 操作中的 JList NullPointerException