1 java swing jlabel jscrollpane
我有一个滚动窗格,我想在其中添加多个 jlabel。在 jTextField1 中,用户输入 1-10 之间的 no(这里的 no. 表示必须添加多少 jlabel),相应地 jlabel 将添加到滚动窗格中。
谁能告诉我我该怎么做。
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));
Run Code Online (Sandbox Code Playgroud)
此代码不起作用。虽然当我们在另一个 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);
Run Code Online (Sandbox Code Playgroud)
但是,我想在同一个 jFrame 中进行。
add(...)的JPanel中,然后调用revalidate(),并repaint()在JPanel中已经添加的所有组件后要获得更详细的答案,您需要提出更详细的问题,包括代码,最好是sscce。