我在显示JList的项目时遇到了一些问题。
DefaultListModel<String> model = new DefaultListModel<String>();
model.addElement("one");
model.addElement("two");
model.addElement("three");
list = new JList<String>(model);
list.setCellRenderer(new DefaultListCellRenderer());
list.setVisible(true);
我也尝试过没有设置ListCellRenderer
,但仍然没有运气。
你能告诉我我做错了吗?
答案 0 :(得分:1)
感谢您的赞美和评论。问题是没有显示列表项。
将来我会添加一个最小的可编辑程序。
我的问题是由于尝试在构造函数中向JPanel
添加JDialog
而引起的,但此时JPanel
为null
因为它已在createUIComponents
方法。
初学者请原谅。
答案 1 :(得分:-1)
这对我有用:
public class JListTest implements Runnable {
public static void main(String[] args) {
SwingUtilities.invokeLater(new JListTest());
}
@Override
public void run() {
JFrame frame = new JFrame(getClass().getSimpleName());
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.setSize(640, 480);
frame.setLayout(new BorderLayout(4, 4));
frame.add(getComponent(), BorderLayout.CENTER);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
Component getComponent() {
DefaultListModel<String> model = new DefaultListModel<>();
model.addElement("one");
model.addElement("two");
model.addElement("three");
JList<String> list = new JList<>(model);
list.setCellRenderer(new DefaultListCellRenderer());
list.setVisible(true);
return list;
}
}