Java Swing第二课,窗体组件与布局。制作一个登陆窗口的窗体

本文介绍了如何使用Java Swing创建一个登录窗口,并通过JPanel布局管理器进行组件添加和定位。讲解了空布局(null layout)的使用,以及如何添加如文本标签、文本框、密码框和按钮等组件。在布局方法中设置了组件的位置,并强调了布局的灵活性,可以根据需求选择不同的布局管理器。

基于上一课的窗体实现,调整大小后,今天了解一下窗体上的组件和布局;

老规矩,上来第一件事是先new一个 JPanel()对象:布局方法类

 JPanel jPanel = new JPanel();//new一个JPanel的对象
 ts.add(jPanel);//把该对象添加到ts窗体中

下一步是写个方法,该方法里是窗体布局上的一些组件方法:

public void addlogin( JPanel jPanel){
        jPanel.setLayout( null);    //布局方式一共有五种,这里用的是null
          JLabel jLabel = new JLabel("登录");//添加文本标签组件
          jLabel.setBounds(200,30,100,10);//设置该组件在布局中的位置
          jPanel.add(jLabel);//将该组件添加到jLabel布局中

          JLabel user = new JLabel("账号");
          user.setBounds(70,80,100,10);
          jPanel.add(user);
          JTextField jTextField = new JTextField();
          jTextField.setBounds(110,70,240,30);
          jPanel.add(jTextField);

          JLabel password = new JLabel("密码");
          password.setBounds(70,140,100,10);
          jPanel.add(password);

          JPasswordField jPasswordField = new JPasswordField();
          jPasswordField.setBounds(110,130,240,30);
          jPanel.add(jPasswordField);
          JButton jButton = new JButton("登录");
          jButton.setBounds(70,190,280,30);
          jPanel.add(jButton);
    }

这里方法写好之后,一定要先在Main方法中调用这个布局方法。

new Main().addlogin(jPanel);//调用布局方法

然后运行看一下效果,大小合适,位置居中,风水上位;不算漂亮也不算丑,将就用吧,

还有好多设置没加,比如布局的背景,字体样式,窗体风格等;我觉得还是不要太花里胡哨的好;

 

 总结:

​​​​​​​JPanel jPanel = new JPanel();//Jpanel方法类,new一个对象
ts.add(jPanel);//将该布局添加到ts窗体中

Jpanel是创建布局的一个方法类,然后将该布局添加到叫ts的窗体中

还有就是布局方式,常见的有五种:

1、 边界布局(BorderLayout)

2、流式布局(FlowLayout)

3、网格布局(GridLayout)

4、盒子布局(BoxLaYout)

5、空布局(null)

看心情哪种合适就用哪种;本次学习中,我们用的是空布局,应为登录窗口的大小被我给定死了,用户是无法随意更改窗口大小的,所以直接用空布局,然后再定位相关组件的位置;

在布局方法中,设置布局方式为空布局,再new个组件,其中有按钮、单选框、复选框、下拉菜单等组件,看需求,这里就不一一演示了;空布局需要设置组件的位置,相当于一个绝对定位;

最重要的是最后还要将该组件添加到布局对象中;

jPanel.setLayout( null);//布局方式为null布局
          JLabel jLabel = new JLabel("登录");//添加组件
          jLabel.setBounds(200,30,100,10);//设置在布局中的位置
          jPanel.add(jLabel);//将该组件添加到该布局中

JTextField jTextField = new JTextField();//普通文本框
          jTextField.setBounds(110,70,240,30);
            jPanel.add(jTextField);

JPasswordField jPasswordField = new JPasswordField();//密码文本框
          jPasswordField.setBounds(110,130,240,30);
            jPanel.add(password);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值