敲代码的xiaolang 2021-11-18 17:17 采纳率: 50%
浏览 48
已结题

JAVA关于GUI编程的练习问题

创建一个窗口,有三个组件:

1.有一个列表,其选项是你所在电脑上的两个java源文件的名字。
当选择一个选项后,会在文本框显示所选java文件的全部内容。

2.有一个文本框和一个密码框:
当在密码框输入密码时,密码框显示回显字符,回车后,在文本框显示密码。
当在文本框输入信息后,将窗口的名字改为文本框输入的信息。

3.窗口的布局任选。

  • 写回答

1条回答 默认 最新

  • 关注
    
    package java3.T9;
    
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.MouseEvent;
    import java.awt.event.MouseListener;
    
    import javax.swing.Icon;
    import javax.swing.ImageIcon;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;
    import javax.swing.JPasswordField;
    import javax.swing.JTextField;
    
    public class LoginUI extends JFrame implements ActionListener,MouseListener{
        
        JLabel bgImg,lblAccount,lblPassword,lblReg,lblForgetPwd;
        JTextField txtAccount;
        JPasswordField txtPassword;
        JButton btnLogin,btnExit;
        
        public LoginUI() {
            setTitle("QQ登录");
            ImageIcon icon = new ImageIcon("upload/touxiang.png");
            //设置图标
            setIconImage(icon.getImage());
            
            //设置背景图片
            Icon bgIcon = new ImageIcon("upload/login.jpg");
            bgImg = new JLabel(bgIcon);
            //窗口的默认布局是边框布局
            //把bgImg设置的窗口
            add(bgImg);
            
            lblAccount = new JLabel("账号:",JLabel.RIGHT);
            lblPassword = new JLabel("密码:",JLabel.RIGHT);
            txtAccount = new JTextField(20);
            txtPassword = new JPasswordField(20);
            
            lblAccount.setBounds(78, 173, 50, 30);
            txtAccount.setBounds(128, 173, 194, 30);
            
            lblPassword.setBounds(78, 203, 50, 30);
            txtPassword.setBounds(128, 203, 194, 30);
            //设置密码框显示的字符
            txtPassword.setEchoChar('*');
            
            lblReg = new JLabel("注册账号");
            lblForgetPwd = new JLabel("找回密码");
            lblReg.setBounds(330, 170, 80, 30);
            lblForgetPwd.setBounds(330, 200, 80, 30);
            
            btnLogin = new JButton("登录(L)");
            //设置热键
            btnLogin.setMnemonic('L');
            btnExit = new JButton("关闭(C)");
            btnExit.setMnemonic('C');
            btnLogin.setBounds(128, 250, 80, 30);
            btnExit.setBounds(228, 250, 80, 30);
            
            //添加到bgImg里面
            bgImg.add(lblAccount);
            bgImg.add(txtAccount);
            bgImg.add(lblPassword);
            bgImg.add(txtPassword);
            bgImg.add(lblReg);
            bgImg.add(lblForgetPwd);
            bgImg.add(btnLogin);
            bgImg.add(btnExit);
            //为按钮添加事件
            btnLogin.addActionListener(this);
            btnExit.addActionListener(this);
            //添加鼠标事件
            lblReg.addMouseListener(this);
            lblForgetPwd.addMouseListener(this);
            //不允许改变窗口的大小
            setResizable(false);
            
            setSize(427,321);
            setVisible(true);
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            setLocationRelativeTo(null);
            
        }
    
        @Override
        public void mouseClicked(MouseEvent e) {
            if(e.getSource() == lblReg) {
                //弹出注册窗口
    //            new RegUI();
            }
            
        }
        @Override
        public void mousePressed(MouseEvent e) {
            // TODO Auto-generated method stub
            
        }
        @Override
        public void mouseReleased(MouseEvent e) {
            // TODO Auto-generated method stub
            
        }
        @Override
        public void mouseEntered(MouseEvent e) {
            // TODO Auto-generated method stub
            
        }
        @Override
        public void mouseExited(MouseEvent e) {
            // TODO Auto-generated method stub
            
        }
        @Override
        public void actionPerformed(ActionEvent e) {
            
            if(e.getSource() == btnLogin) {
                JOptionPane.showMessageDialog(null, "登录成功");
            }else if(e.getSource() == btnExit) {
                System.exit(0);
            }
            
        }
        public static void main(String[] args) {
            new LoginUI();
        }
    }
    
    
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月20日
  • 创建了问题 11月18日