我有以下类ReviewPanel
,其中我创建了一个JList并尝试使用传递给它的Vector填充它。向量已经填充了它的值,但是当我将它添加到JList时它不会显示任何内容。
以下是我的班级
public class ReviewPanel extends JPanel
{
private Vector bookList;
private JList jl;
private JRadioButton poor,fair,avg,good,exlnt;
private JButton jb;
public ReviewPanel(Vector bookList)
{
this.bookList = bookList;
jl = new JList<String>(this.bookList);
String tmp=null;
for(int i=0;i<bookList.size();i++){
tmp = tmp + bookList.get(i) + "\n";
System.out.println(tmp); //here it is showing the values in booklist vector
}
add(jl);
ButtonGroup bg =new ButtonGroup();
poor = new JRadioButton("1 Poor");
fair = new JRadioButton("2 Fair");
avg = new JRadioButton("3 Average");
good = new JRadioButton("4 Good");
exlnt = new JRadioButton("5 Excellent");
bg.add(poor);
bg.add(fair);
bg.add(avg);
bg.add(good);
bg.add(exlnt);
add(poor);
add(fair);
add(avg);
add(good);
add(exlnt);
jb = new JButton("Submit Review");
add(jb);
}
//more code
}
下面是它看起来像的图片。即使我已经添加了Jlist。它没有显示任何东西
对jlist和向量不精明,任何帮助表示赞赏。
答案 0 :(得分:0)
过去,我遇到了FlowLayout
的类似问题,这是JPanel
的默认布局。
它有时不显示添加的项目之一(在我的情况下,它通常是最后一个)。
您可以通过启动setLayoutManager(null)
功能来测试布局管理器的使用是否是您的问题。此关闭关闭,这将元素放在其默认位置和大小。如果JList
确实显示这是您的问题。
您的计划的一个很好的例子是Button Demo。这也显示了使用SwingUtils
来确保在'事件调度线程'上创建程序,这是与Swing对象进行所有交互所必需的。