java_GUI

登录界面,在用户名和密码处输入正确后,点击“登录”按钮,打开另一个界面。若错误,则弹出一个提醒的对话框。当点击“重置”按钮后,用户名和密码的内容将被清除

package tsetIdea;

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

public class Demo_登录界面 implements ActionListener {
    JFrame frame;
    //创建登录和重置按钮
    JButton button1;
    JButton button2;
    //创建用户名和密码的标签
    JLabel user;
    JLabel pw;
    //创建用户名和密码的文本框
    JTextField text;
    JPasswordField pwf;

    void init(){
        frame =new JFrame("登录界面");
        Container c=frame.getContentPane();
        frame.setLayout(new GridLayout(2,1));
        JPanel panel1=new JPanel(new GridLayout(2,1));
        JPanel panel2=new JPanel(new FlowLayout());
        JPanel panel3=new JPanel(new FlowLayout());
        frame.setBounds(400,400,400,300);
        button1=new JButton("登录");
        button1.addActionListener(this);
        button2=new JButton("重置");
        button2.addActionListener(this);
        user=new JLabel("用户名:");
        pw=new JLabel("密    码 :");
        text=new JTextField(30);
        pwf=new JPasswordField(30);
        JLabel label=new JLabel();
        ImageIcon icon1=new ImageIcon("D:\\idea\\image\\top.jpg");
        Image img1=icon1.getImage();
        img1=img1.getScaledInstance(400,130,Image.SCALE_DEFAULT);
        icon1.setImage(img1);
        label.setIcon(icon1);
        //将组件放到容器中
        c.add(label);
        panel2.add(user);
        panel2.add(text);
        panel2.add(pw);
        panel2.add(pwf);
        panel3.add(button1);
        panel3.add(button2);
        panel1.add(panel2);
        panel1.add(panel3);
        c.add(panel1);
        frame.setResizable(false);
        frame.setVisible(true);
        frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }
    @Override
    public void actionPerformed(ActionEvent e) {
        //按button1(登录)按钮时  e.getActionCommand() == "登录"
        if(e.getSource()==button1) {
            //用户名和密码输入正确时
            if ("admin".equals(text.getText()) && "123".equals(new String(pwf.getPassword()))) {
                Demo_计算器相加 demo=new Demo_计算器相加();
                demo.init();
                //用户名或密码输入错误,弹出弹窗
            } else {
                JOptionPane.showConfirmDialog(null, "用户名或密码错误");
            }
            //按button2按钮时
        }else {
            //点击重置时
            if(text!=null);
            text.setText(null);
            if(pwf!=null);
            pwf.setText(null);
        }
    }
    public static void main(String ages[]){
        Demo_登录界面 demo=new Demo_登录界面();
        demo.init();
    }
}

重点:

  • 密码的文本框:JPasswordField
  • 当一个界面里有两个及以上的动作事件时,if区分:e.getSource()按钮名 (e.getActionCommand()“按钮的内容”
  • 判断用户名或密码是否正确:从文本框中得到其内容,与正确的用户名或密码相比较
  • 用户名或密码错误的弹窗:JOptionPane.showConfirmDialog(null, “用户名或密码错误”);
  • 清除用户名或密码:setText(null);或setText(" ");
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值