这是我第一次真正使用Java图形。
我有一个问题,我正在尝试使用未定义数量的面板填充JScrollPane(以下代码只是一个测试;我知道它是使用不良做法编写的,但它是一个测试,看看如何做到这一点是全部)。
在最终的程序中,我将有一个订单的ArrayList(ArrayList大小未预先确定),在JScrollPane中,我将有一个JPanel,它包含一个JPanel(每个包含几个标签),它们将包含详细信息每个订单。
这是当前的测试代码(JScrollPane简称为scrollPane):
JPanel panel = new JPanel();
GroupLayout experimentLayout = new GroupLayout(panel);
ArrayList<JPanel> panelArray = new ArrayList();
for(int i = 0; i <3; i++){
JPanel panel2 = new JPanel();
JLabel label2 = new JLabel("Hello");
JLabel label3 = new JLabel("Hi");
panel2.add(label2);
panel2.add(label3);
//panel.add(panel2);
panelArray.add(panel2);
}
experimentLayout.setHorizontalGroup(
experimentLayout.createParallelGroup()
.addComponent(panelArray.get(0))
.addComponent(panelArray.get(1))
.addComponent(panelArray.get(2))
);
experimentLayout.setVerticalGroup(
experimentLayout.createSequentialGroup()
//.addGroup(experimentLayout.createParallelGroup(GroupLayout.Alignment.LEADING)
.addComponent(panelArray.get(0))
.addComponent(panelArray.get(1))
.addComponent(panelArray.get(2))
);
scrollPane.setViewportView(panel);
运行时,包含标签的JPanels会水平显示(彼此相邻),而不是彼此相邻。
关于如何垂直显示它们的任何帮助都会有很大帮助 - 谢谢大家:)
答案 0 :(得分:1)
您可能会发现GridLayout很有用。