[英]How to set the location of a button anywhere in your 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);
首先设置帧的布局,以null
如果正在使用的JFrame,或者设置布局的面板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();
}
}
尝试BorderLayout
addPanel.setLayout(new BorderLayout());
addPanel.add(addButton,BorderLayout.SOUTH);
即使在addPanel内部,您也可以使用网格布局创建另一个面板(例如bottomLeft)
bottomLeft.setLayout(new GridLayout(1,3,200,0));
bottomLeft.add(addPanel)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.