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