JList 不显示项目
JList not showing items
我在显示 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
,还是不行。
你能告诉我我做错了什么吗?
这对我有用:
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;
}
}
感谢您的回答和评论。问题是没有显示列表项。
以后我会添加一个最小的可编译程序。
我的问题是由于试图在构造函数中将 JPanel
添加到 JDialog
引起的,但是此时 JPanel
是 null
因为它已被初始化在 createUIComponents
方法中。
初学者请见谅
我在显示 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
,还是不行。
你能告诉我我做错了什么吗?
这对我有用:
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;
}
}
感谢您的回答和评论。问题是没有显示列表项。
以后我会添加一个最小的可编译程序。
我的问题是由于试图在构造函数中将 JPanel
添加到 JDialog
引起的,但是此时 JPanel
是 null
因为它已被初始化在 createUIComponents
方法中。
初学者请见谅