swing 布局管理器 GridBagLayout

41 篇文章 0 订阅

/**
 *
 */
package demo.swing;

import javax.swing.*;
import java.awt.*;
public class test
{
 static final int WIDTH=300;
 static final int HEIGHT=150;
 //写一个add方法方便下面在界面中添加组件
 public void add(JPanel p,JComponent c,GridBagConstraints constraints,int x,int y,int w,int h)
 {
  constraints.gridx=x;
  constraints.gridy=y;
  constraints.gridwidth=w;
  constraints.gridheight=h;
  p.add(c,constraints);
 }
 //在构造方法中创建界面
 test()
 {
  JFrame f=new JFrame("登陆窗口");
  f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  f.setSize(WIDTH,HEIGHT);
  JPanel contentPane=new JPanel();
  f.setContentPane(contentPane);
  contentPane.setLayout(new GridBagLayout());//添加布局管理器
  GridBagConstraints constraints=new GridBagConstraints();//创建约束
  ///这是设置在桌面中间弹出窗口
  Toolkit kit=Toolkit.getDefaultToolkit();
  Dimension screenSize=kit.getScreenSize();
  int x=(screenSize.width-WIDTH)/2;
  int y=(screenSize.height-HEIGHT)/2;
  f.setLocation(x,y);
  ///
  JLabel name=new JLabel("用户名");
  JLabel password=new JLabel("密码");
  JTextField nameInput=new JTextField(12);
  JPasswordField passwordInput=new JPasswordField(12);
  JButton b1=new JButton("确定");
  JButton b2=new JButton("取消");
  //开始用add方法添加上面的组件
  constraints.fill=GridBagConstraints.NONE;
  constraints.anchor=GridBagConstraints.CENTER;
  constraints.insets = new Insets(0,0,10,0); //设置外部填充
  add(contentPane,name,constraints,0,0,1,1);
  add(contentPane,nameInput,constraints,1,0,1,1);
  add(contentPane,password,constraints,0,1,1,1);
  add(contentPane,passwordInput,constraints,1,1,1,1);
  add(contentPane,b1,constraints,0,2,1,1);
  add(contentPane,b2,constraints,1,2,1,1);
  
  f.setResizable(false);
  f.setVisible(true);
 }
 
 public static void main(String[] args)
 {
  new test();
 }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值