Java Swing 绝对布局管理方法,null布局【图】
首先把相关容器的布局方式设为 setLayout(null);
然后调用组件的 setBounds() 方法
设置button的位置为(100,100) 长宽分别为 60,25
jButton.setBounds(new Rectangle(100, 100, 60, 25));
import java.awt.Container; import java.awt.Dimension; import java.awt.Rectangle; import java.awt.Toolkit; import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JPasswordField; import javax.swing.JTextField; public class Log extends JFrame { public static void main(String[] args) { Log log = new Log(); } private JButton btLog; private JTextField tfUser; private JPasswordField tfPwd; private JCheckBox pwdKeep; private JComboBox adminType; public Log() { super("固定资产管理系统"); super.setSize(380,292); super.setVisible(true); super.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); centered(this); btLog = new JButton("登 录"); btLog.setBounds(new Rectangle(93,220,180,30));//参数分别是坐标x,y,宽,高 this.setLayout(null);//设置布局管理器为空 this.add(btLog); tfUser = new JTextField(); tfUser.setBounds(new Rectangle(73,115,220,25)); this.add(tfUser); tfPwd = new JPasswordField(); tfPwd.setBounds(new Rectangle(73,150,220,25)); this.add(tfPwd); pwdKeep = new JCheckBox("记住密码"); pwdKeep.setBounds(new Rectangle(68,185,110,25)); this.add(pwdKeep); adminType = new JComboBox(new String[] { "普通职员","管理员","高级管理员" }); adminType.setBounds(new Rectangle(183,185,100,25)); this.add(adminType); } //布局居中方法 public void centered(Container container) { Toolkit toolkit = Toolkit.getDefaultToolkit(); Dimension screenSize = toolkit.getScreenSize(); int w = container.getWidth(); int h = container.getHeight(); container.setBounds((screenSize.width - w) / 2,(screenSize.height - h) / 2, w, h); } } |