栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

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

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

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

老规矩,上来第一件事是先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);

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/971077.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号