动态添加和对齐JLabel和JCheckBox到JScrollPane

时间:2012-07-05 21:38:05

标签: java swing jscrollpane layout-manager

我的出发点是:

enter image description here

标签下方的矩形为JScrollPane

根据变量的值,我必须将JLabel和JCheckBox添加到滚动窗格。

我读了其他帖子,但我不能做我想要的。 你能救我吗?

我没有代码,因为我认为我可以使用NetBeans设计器来完成它。 我唯一能做的就是

JLabel label = new JLabel("New Label");
JCheckBox cb = new JCheckBox("New CheckBox");
jScrollPane1.add(label);
jScrollPane1.add(cb);

但显然它不起作用。 感谢Robby现在我可以添加组件。 我需要知道如何对齐它们。 例如,jLabel1下的一列标签,jLabel2下的一列复选框等,都具有相同的高度和宽度。

1 个答案:

答案 0 :(得分:5)

您不直接向JScrollPane添加元素。您将元素添加到JPanel,然后然后添加到JScrollPane。我强烈建议阅读Swing,如果没有别的Java Swing tutorial

所以:

JPanel panel = new JPanel();
JLabel label = new JLabel("New Label");
JCheckBox cb = new JCheckBox("New CheckBox");
panel.add(label);
panel.add(cb);
JScrollPane scrollPane = new JScrollPane(panel);

将是一个开始。

或者滚动窗格已经存在:scrollPane.setViewportView(panel)而不是构造函数。

或类似的。但实际上,正如上面的评论所提到的,你真的想先学会代码,而不是依赖程序(或其他人)为你编写代码。