【发布时间】:2012-10-31 21:25:39
【问题描述】:
我尝试制作一款非常迷你的游戏。
我有一个JPanel,它使用一个包含三个JLabel 的BoxLayout.Y_AXIS(JLabels 的名称 = 1,2,3)
我需要该面板内的一个组件来锚定南(所以我使用胶水)
查看结果会是这样的:
1
2
3
然后我有一个JButton。
如果用户点击按钮,那JPanel会添加一个新的JLabel(JLabel的名字=neww)
查看结果如下:
1
2
3
新的
但我需要这样的东西:
新的
1
2
3
我该怎么办?
可以用BoxLayout处理吗?
这是我尝试过的:
public class help extends JFrame implements ActionListener{
JPanel panel = new JPanel();
JButton insert = new JButton("insert");
JLabel a = new JLabel("1");
JLabel b = new JLabel("2");
JLabel c = new JLabel("3");
public help() {
setSize(300, 200);
getContentPane().setLayout(new BorderLayout());
getContentPane().add(panel, BorderLayout.CENTER);
panel.setPreferredSize(new Dimension(250,150));
getContentPane().add(insert, BorderLayout.SOUTH);
insert.setPreferredSize(new Dimension(50,50));
insert.addActionListener(this);
panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
panel.add(Box.createVerticalGlue());
panel.add(a);
panel.add(b);
panel.add(c);
setVisible(true);
}
public static void main (String[]args){
new help();
}
@Override
public void actionPerformed(ActionEvent e) {
panel.add(new JLabel("NEW"));
panel.revalidate();
panel.repaint();
}
}
非常感谢您的任何帮助!
【问题讨论】:
标签: java swing jpanel layout-manager boxlayout