Java Logo
Java二级在线二级在线
首页选择题程序题成为会员帮助

QQ登录页面

请修改编辑器中的代码,完成以下功能: 编写一个模拟 QQ 登录界面的 Java 图形程序,实现以下功能要求: 窗口标题为“QQ2025正式版” 界面中包含: 用户名输入框,旁边是“注册账号”标签 密码输入框,旁边是“找回密码”标签 状态选择下拉框(选项包括:“在线”、“隐身”、“离开”) 两个复选框:“记住密码”和“自动登录” 三个按钮:“登录”、“多账号”、“设置” 点击“登录”按钮后,弹出确认对话框,内容为:“您输入的用户名是 xxx”,其中 xxx 为用户输入的用户名 运行后弹出一个仿 QQ 登录界面的窗口,点右上角关闭时程序退出。 说明:本题是图形界面程序,运行后会弹出窗口,控制台上不会有输出。评测按填入的代码文本判分,不比对运行结果。

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Main extends ____________ {
    private JTextField username;
    private JPasswordField password;
    private JLabel jl3;
    private JLabel jl4;
    private JButton bu1;
    private JButton bu2;
    private JButton bu3;
    private JCheckBox jc1;
    private JCheckBox jc2;
    private JComboBox<String> jcb;

    public Main() {
        this.setTitle("QQ2025正式版");
        init();
        this.setDefaultCloseOperation(JFrame.______________);
        this.setLayout(______________);
        this.setBounds(0, 0, 355, 265);
        this.setResizable(false);
        this.setLocationRelativeTo(null);
        this.setVisible(true);
    }

    public void init() {
        Container con = this.getContentPane();

        username = new JTextField();
        username.setBounds(50, 50, 150, 20);

        jl3 = new JLabel("注册账号");
        jl3.setBounds(210, 50, 70, 20);

        password = new JPasswordField();
        password.setBounds(50, 80, 150, 20);

        jl4 = new JLabel("找回密码");
        jl4.setBounds(210, 80, 70, 20);

        jc1 = new JCheckBox("记住密码");
        jc1.setBounds(125, 135, 80, 15);

        jc2 = new JCheckBox("自动登录");
        jc2.setBounds(215, 135, 80, 15);

        jcb = new JComboBox<>();
        jcb.addItem("在线");
        jcb.addItem("隐身");
        jcb.addItem("离开");
        jcb.setBounds(40, 135, 55, 20);

        bu1 = new JButton("登录");
        bu1.setBounds(250, 200, 65, 20);
        bu1.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                String str = e.getActionCommand();
                if ("登录".equals(str)) {
                    String getName = username.getText();
                    JOptionPane.showConfirmDialog(null, "您输入的用户名是 " + getName);
                }
            }
        });

        bu2 = new JButton("多账号");
        bu2.setBounds(25, 200, 75, 20);

        bu3 = new JButton("设置");
        bu3.setBounds(140, 200, 65, 20);

        con.add(username);
        con.add(password);
        con.add(jl3);
        con.add(jl4);
        con.add(jc1);
        con.add(jc2);
        con.add(jcb);
        con.add(bu1);
        con.add(bu2);
        con.add(bu3);
    }

    public static void main(String[] args) {
        new Main();
    }
}

控制台

调试终端

准备就绪