如何在JFrame中的任何位置设置按钮的位置
我想要做的是将按钮放在应用程序的左下角。 有人可以给我一个如何做的例子吗?
这就是我所拥有的:
这是我的代码:
super("Test"); /**Create Components**/ JPanel addPanel = new JPanel(); JButton addButton= new JButton("Add"); /**Add Components**/ addPanel.add(addButton); this.add(addPanel); /**Set Components Properties**/ addButton.setLocation(12, 371); addButton.setPreferredSize(new Dimension(116, 40)); addPanel.setLocation(12, 371); addPanel.setPreferredSize(new Dimension(116, 40)); /**Frame Properties**/ this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setPreferredSize(new Dimension(dimension1, dimension2)); this.setResizable(false); this.pack(); this.setVisible(true);
试试BorderLayout
addPanel.setLayout(new BorderLayout()); addPanel.add(addButton,BorderLayout.SOUTH);
即使在你的addPanel里面,你也可以使用另一个面板(比如bottomLeft)和Grid Layout
bottomLeft.setLayout(new GridLayout(1,3,200,0)); bottomLeft.add(addPanel)
首先,如果使用JFrame,则将框架的布局设置为null
,或者如果使用面板,则将layout的面板设置为null
,然后使用setBounds()
方法:
button.setBounds(x,y,width,height);
看看我为你做的这个例子:
import javax.swing.*; import java.awt.*; public class ButtonLocationDemo extends JFrame{ private JButton button; public ButtonLocationDemo(){ JPanel p = new JPanel(); button = new JButton("Button"); p.setLayout(null); button.setBounds(40,100,100,60); p.add(button); getContentPane().add(p); //setLayout(null); setDefaultCloseOperation(3); setSize(400,400); setVisible(true); } public static void main(String...args){ new ButtonLocationDemo(); } }