如何在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(); } }