【java学习日记】利用Swing实现基础的用户登录界面开发

基本思路:


  • 创建类
  • 创建方法
    • 创建一个窗体,并设置窗体的属性
      • 创建JFrame对象
      • 设置属性(标题/尺寸/位置/关闭时退出/布局/可视化)       
    • 创建相关组件,并设置组件的属性
      • 创建对象(图标ImageIcon*1/标签JLabel*3/按钮JButton*2/输入框JTextField*1/密码输入框JPasswordField*1/复选框JCheckBox*2/单选框JRadioButton*3)
      • 设置属性
        • 设置尺寸(创建Dimension对象,设置对象setPreferredSize)
        • 设置字体(创建Font对象,设置对象setFont)
        • 设置颜色(创建Color对象,设置对象setForeground)
    • 将组件对象添加至窗体上(.add)
  • 编写程序入口

具体演示:


先创建一个类命名为LoginUI,并导入java源码中的相关包(后面输入程序的时候也会自动导入)
import javax.swing.*;
import java.awt.*;

public class LoginUI {

创建方法showUI(  ):

按照思路,先创建一个窗体对象,并设置窗体的属性,如下:

public void showUI(){
        JFrame jf = new JFrame();
        jf.setTitle("登录");
        jf.setSize(800,720);
        jf.setLocationRelativeTo(null);//居中
        jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭时退出进程

        FlowLayout JF1 = new FlowLayout();//创建一个流式布局对象(即从左到右自适应排列的布局方式)

        jf.setLayout(JF1);//流式布局
        jf.setVisible(true);//开启可视化

接着创建相关的组件,如下:


        ImageIcon icon = new ImageIcon("此处填上图像路径");//创建图标对象

        JLabel iconJla = new JLabel ();
        JLabel nameJla = new JLabel ();
        JLabel pwdJla = new JLabel ();//创建三个标签对象

        JTextField nameJtf = new JTextField ();
        JPasswordField pwdJpf = new JPasswordField ();//分别创建账号密码输入框

        JButton loginBtn = new JButton ();
        JButton registerBtn = new JButton ();//创建登录注册按钮

        JCheckBox rememberJcb = new JCheckBox ();
        JCheckBox autoLoginJcb = new JCheckBox ();//创建两个复选框

        JRadioButton adminJrb = new JRadioButton ();
        JRadioButton userJrb = new JRadioButton ();
        JRadioButton vipJrb = new JRadioButton ();//创建三个单选框



        ButtonGroup btnG = new ButtonGroup ();// 将三个单选框 划为一个组
        btnG.add (adminJrb);
        btnG.add (userJrb);
        btnG.add (vipJrb);

下一步,设置各个组件的属性,为方便调用,先分别创建两个字体对象和两个颜色对象:

        Font font1 = new Font ("黑体", Font.BOLD, 16);
        Font font2 = new Font("黑体", Font.PLAIN, 14);
        Color color1=new Color(121, 90, 95);
        Color color2=new Color(239, 223, 223);

接着,开始属性的设置,首先是图像和文本部分:

        iconJla.setIcon (icon);// 设置图像


        nameJla.setText ("账号:");
        pwdJla.setText ("密码:");
        loginBtn.setText ("登录");
        registerBtn.setText ("注册");
        rememberJcb.setText ("记住密码");
        autoLoginJcb.setText ("自动登录");
        adminJrb.setText ("管理员");
        userJrb.setText ("用户");
        vipJrb.setText ("会员");

接着,是各个文字的颜色和字体部分:

        nameJla.setFont (font1);
        nameJla.setForeground(color1);

        pwdJla.setFont (font1);
        pwdJla.setForeground(color1);

        loginBtn.setFont (font1);
        loginBtn.setForeground(color1);

        registerBtn.setFont (font1);
        registerBtn.setForeground (color2);//完成账号密码登陆注册的字体和颜色设置



        rememberJcb.setFont(font2);
        autoLoginJcb.setFont(font2);
        adminJrb.setFont(font2);
        userJrb.setFont(font2);
        vipJrb.setFont(font2);

        rememberJcb.setForeground(color1);
        autoLoginJcb.setForeground(color1);
        adminJrb.setForeground(color1);
        userJrb.setForeground(color1);
        vipJrb.setForeground(color1);//完成剩余小字部分的设置

最后,应对两个按钮和两个输入框的属性进一步设置:

        loginBtn.setBackground (color2);
        registerBtn.setBackground (color1);//设置按钮的背景颜色Background

        Dimension dim = new Dimension ();//先创建Dimension对象,再进行设置

        dim.setSize (300, 40);
        nameJtf.setPreferredSize (dim);
        pwdJpf.setPreferredSize (dim);//设置输入框的的大小

至此,所有组件的属性都已经设置完成。需要将设置好的组件添加的窗体上,使之得以显示,如下:

        jf.add (iconJla);
        jf.add (nameJla);jf.add (nameJtf);
        jf.add (pwdJla);jf.add (pwdJpf);
        jf.add (rememberJcb);jf.add (autoLoginJcb);
        jf.add (adminJrb);jf.add (userJrb);jf.add (vipJrb);
        jf.add (loginBtn);jf.add (registerBtn);//此处为添加的步骤


        jf.setVisible (true);// 设置可视化
        jf.setResizable (false);// 设置大小不可改变,否则流式布局将自动排版,效果难言

程序入口:

最后一步,编写程序入口使代码来调用方法,先创建对象,再调用方法,如下:

        public static void main(String[] args){
        LoginUI loginUI = new LoginUI ();
        loginUI.showUI ();
    }
}

完成所有程序的编写。


学习日记:


  • 完成一段程序逻辑清晰是至关重要的一点,创建类,创建对象,设置对象的属性,不同对象间的添加,最后的综合调用等都需要清晰的思路。
  • 避免调用的重复,预先设置对象方便调用,以此简化代码。
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值