我有一个扩展Jpanel的类,里面有一个动画。我有两个停止并启动它的动作按钮,但是我需要按钮出现在Jpanel的底部。 我曾尝试:Jpanel底部的按钮
add(go,BOTTOM_ALIGNMENT);
或
add(go,BorderLayout.SOUTH);
,甚至流布局,但按键都始终坚持坐到JPanel的顶部。有任何想法吗?由于操作事件,按钮需要在Jpanel内部创建。
我有一个扩展Jpanel的类,里面有一个动画。我有两个停止并启动它的动作按钮,但是我需要按钮出现在Jpanel的底部。 我曾尝试:Jpanel底部的按钮
add(go,BOTTOM_ALIGNMENT);
或
add(go,BorderLayout.SOUTH);
,甚至流布局,但按键都始终坚持坐到JPanel的顶部。有任何想法吗?由于操作事件,按钮需要在Jpanel内部创建。
“但是我需要按钮出现在
JPanel
的底部。”
这add(go,BorderLayout.SOUTH);
将无法正常工作,除非你设置JPanel
到BorderLayout
的布局。它有一个默认的FlowLayout
,将离开顶部的按钮。
setLayout(new BorderLayout());
寻找你的previous question,你有一个start
按钮了。不知道你想在哪里放置那之一。所以这里有选择。
如果你想在底部两个按钮,如果你想start
顶部和go
底部包裹他们在另一个JPanel
并添加是JPanel
到主JPanel
使用BorderLayout.SOUTH
,然后BorderLayout.NORTH
为start
和BorderLayout.SOUTH
为go
你往哪走,不要忘记设置类JPanel
编辑
public class BallPanel extends JPanel {
public BallPanel() {
JPanel panel = new JPanel();
JButton go = new JButton("GO");
JButton stop = new JButton("STOP");
panel.add(go);
panel.add(stop);
setLayout(new BorderLayout());
add(panel, BorderLayout.SOUTH);
}
}
再次感谢您的快速解答。我将它手动设置为流布局,并不断更改它,因此从未看到结果。我将不得不使用流布局来让按钮并排放置,因为一个按钮将占据整个底部? – Softey
您需要将两个按钮添加到_another_“JPanel”。并将_that_' JPanel'添加到您的类'JPanel'的'BorderLayout.SOUTH'。你似乎在我回答的第一篇文章中发现了它。我不明白这是什么令你感到困惑。 –
'buttonsPanel',你不需要设置布局。它有一个默认的'FlowLayout'并且会让你并排看你想要的。如果你不知道,你可以有多个'JPanel'。在需要时嵌入一堆'JPanels'是很常见的做法。 –
你有没有试过''JButtons'的setBounds'布局? –