我有一个滚动窗格,我想在其中添加多个jlabel。在jTextField1中,用户输入no 1-10之间(此处没有。告诉必须添加多少jlabels),因此jlabels将添加到滚动窗格中。
有谁能告诉我怎么能这样做。
int x=jTextField1.getText;
JPanel mainpanel = new JPanel();
mainpanel.setLayout(new BoxLayout(mainpanel, BoxLayout.X_AXIS));
this.add(mainpanel);
JPanel rightpanel = new JPanel();
rightpanel.setLayout(new FlowLayout());
for (int i = 0; i < x; i++)
{
rightpanel.add(new JLabel("Label " + i));
}
mainpanel.add(new JLabel("Left label"));
mainpanel.add(new JScrollPane(rightpanel));
此代码无效。虽然它在我们在另一个jFrame中做同样的事情时工作,即
JFrame frame = new JFrame("Labels");
JPanel mainpanel = new JPanel();
mainpanel.setLayout(new BoxLayout(mainpanel, BoxLayout.X_AXIS));
frame.add(mainpanel);
JPanel rightpanel = new JPanel();
rightpanel.setLayout(new FlowLayout());
for (int i = 0; i < 100; i++)
{
rightpanel.add(new JLabel("Label " + i));
}
mainpanel.add(new JLabel("Left label"));
mainpanel.add(new JScrollPane(rightpanel));
frame.setSize(500, 100);
frame.setVisible(true);
但是,我想在同一个jFrame中进行。
答案 0 :(得分:4)
add(...)
,然后在添加所有组件后调用JPanel上的revalidate()
和repaint()
,就可以添加JLabel 要获得更详细的答案,您需要提出更详细的问题,包括代码,最好是sscce。