发布网友 发布时间:2024-10-24 11:22
共1个回答
热心网友 时间:2024-11-02 22:00
逻辑很简单, 点击登录是验证账户和密码是否为空,如果都不为空通过检测,如果有一个为空就提示; 效果图如下
参考代码如下
import javax.swing.*;
import java.awt.*;
//代码基于java8
public class LoginFrame extends JFrame {
private JTextField tfUserName;
private JPasswordField pfPassword;
JButton jbOK, jbRest;
public LoginFrame() {
initControls();
initFrame();
addListener();
}
//组件进行初始化
private void initControls() {
//对窗口的组件进行初始化
JPanel p1 = new JPanel();
JLabel lab1 = new JLabel("账 号:");
tfUserName = new JTextField(10);
p1.add(lab1);
p1.add(tfUserName);
JPanel p2 = new JPanel();
JLabel lab2 = new JLabel("密 码:");
pfPassword = new JPasswordField(10);
p2.add(lab2);
p2.add(pfPassword);
JPanel p3 = new JPanel();
jbOK = new JButton("登录");
jbRest = new JButton("重置");
p3.add(jbOK);
p3.add(jbRest);
//把组件添加到窗口
add(p1);
add(p2);
add(p3);
}
//添加事件响应
private void addListener() {
//给登录按钮添加事件响应
jbOK.addActionListener(e -> {
String name = tfUserName.getText().trim();
String pswd = new String(pfPassword.getPassword()).trim();
if (name.isEmpty() || pswd.isEmpty()) {
JOptionPane.showMessageDialog(this, "账号或密码不能为空");
}else if(name.equals("admin")&&pswd.equals("123")){
JOptionPane.showMessageDialog(this,"登陆成功");
}else{
JOptionPane.showMessageDialog(this,"账号或者密码错误");
}
});
//给重置按钮添加事件响应
jbRest.addActionListener(e -> {
tfUserName.setText("");
pfPassword.setText("");
});
}
//对窗口属性进行设置
private void initFrame() {
setTitle("登录窗口");//标题
setLayout(new GridLayout(3, 1));//布局3行1列
setDefaultCloseOperation(EXIT_ON_CLOSE);//关闭按钮可用
setSize(280, 180);//大小
setLocationRelativeTo(null);//居中
}
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> {
new LoginFrame().setVisible(true);//创建窗口,设置可见
});
}
}