使用SWING做一个简单的登录界面

这篇博客介绍了如何使用Java的SWING库创建一个基础的登录界面。通过设置布局、添加组件如用户名和密码输入框,以及绑定ActionListener监听器到登录按钮,实现了用户交互功能。文章详细展示了从创建框架、定义面板、设置组件到添加事件监听的步骤,并提供了最终的运行效果截图。

学习目标:

STEP1. 使用SWING做一个简单的登录界面;

学习内容:

首次接触使用SWING类,学习按钮监听器的使用;

步骤:

1)在Idea中建立一个SWING项目,建立一个panel1对象;在这里插入图片描述
2)编写一个初始化Pannel的方法:

    private static void CreatGUI()
    {
        JFrame frame= new JFrame("用户登陆界面");         //定义一个框架
        JPanel rootPane=new SwingDemo().panel1;             //定义一个面板
        frame.setContentPane(rootPane);                     //把面板放在框架里
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);       //激活关闭按钮;
        frame.pack();                                               //在你没加f.pack()之前,f窗体的大小是(0,0) 当你加了以后,f的大小会被设置为最佳大小,也就是prefrredSize
        frame.setSize(320, 200);                        //指定框架的尺寸;
        frame.setLocationRelativeTo(rootPane);                      //面板生成后,在整个窗体中居中
        frame.setVisible(true);                                     //面板可视
        JFrame.setDefaultLookAndFeelDecorated(true);
        placeComponents(rootPane);

    }

3) 配置Main函数;

    public static void main(String[] args) {

    javax.swing.SwingUtilities.invokeLater(new Runnable() {
        @Override
        public void run() {
            CreatGUI();
        }
    });

    }

4)编写界面上的按钮及用户名、密码输入框;

private static void placeComponents(JPanel panel) {

        /* 布局部分我们这边不多做介绍
         * 这边设置布局为 null
         */
        panel.setLayout(null);

        // 创建 JLabel
        JLabel userLabel = new JLabel("User:");
        /* 这个方法定义了组件的位置。
         * setBounds(x, y, width, height)
         * x 和 y 指定左上角的新位置,由 width 和 height 指定新的大小。
         */
        userLabel.setBounds(10,20,80,25);
        panel.add(userLabel);

        /*
         * 创建文本域用于用户输入
         */
        JTextField userText = new JTextField(20);
        userText.setBounds(100,20,165,25);
        panel.add(userText);

        // 输入密码的文本域
        JLabel passwordLabel = new JLabel("Password:");
        passwordLabel.setBounds(10,50,80,25);
        panel.add(passwordLabel);

        /*
         *这个类似用于输入的文本域
         * 但是输入的信息会以点号代替,用于包含密码的安全性
         */
        JPasswordField passwordText = new JPasswordField(20);
        passwordText.setBounds(100,50,165,25);
        panel.add(passwordText);

        // 创建登录按钮
        JButton loginButton = new JButton("login");
        loginButton.setBounds(350/2-40, 200/2-12, 80, 25);
        panel.add(loginButton);


        ActionListener listener=new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                System.out.print("Test OK!\r\n");
            }
        };

        loginButton.addActionListener(listener);

    }

5)注意这里面添加了一个监听器,将按钮loginButton绑定到ActionListener监听器上;

6)启动测试,效果图如下;
在这里插入图片描述
7) 完了,这是最基础的一步,复杂的后续再研究吧。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值