java登陆界面验证
发布网友
发布时间:2022-05-04 17:09
我来回答
共1个回答
热心网友
时间:2022-06-24 06:29
以下代码就是了。
详细参照附件
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
public class LoginJFrame extends JFrame implements ActionListener {
private JTextField text_username;
private JPasswordField password_pwd;
private JButton button_lg, button_close;
private JLabel msgArea;
public LoginJFrame() {
super("登录");
this.setBounds(500, 240, 320, 260);
setResizable(false);
setBackground(java.awt.Color.lightGray);
setDefaultCloseOperation(EXIT_ON_CLOSE);
getContentPane().setLayout(new GridLayout(4, 1, 20, 10));
getContentPane().add(new JLabel("在线考试系统用户登录", JLabel.CENTER));
JPanel panel_1 = new JPanel(new GridLayout(2, 2, 0, 5));
getContentPane().add(panel_1);
panel_1.add(new JLabel("用户名:", JLabel.CENTER));
text_username = new JTextField(20);
panel_1.add(text_username);
panel_1.add(new JLabel("密 码:", JLabel.CENTER));
password_pwd = new JPasswordField(20);
panel_1.add(password_pwd);
JPanel panel_2 = new JPanel(new GridLayout(1, 2, 30, 0));
getContentPane().add(panel_2);
button_lg = new JButton("登陆");
panel_2.add(button_lg);
button_lg.addActionListener(this);
button_close = new JButton("注册");
panel_2.add(button_close);
setVisible(true);
// 添加一个控件用于显示提示信息
JPanel panel_3 = new JPanel();
msgArea = new JLabel();
getContentPane().add(panel_3.add(msgArea));
setVisible(true);
}
public static void main(String arg[]) {
new LoginJFrame();
}
public void actionPerformed(ActionEvent e) {
// 登录按钮
if (e.getSource() == button_lg) {
if (text_username.getText().isEmpty() && password_pwd.getText().isEmpty()) {
msgArea.setText("请输入用户名和密码!");
return;
}
if (text_username.getText().isEmpty()) {
msgArea.setText("用户名不能为空!");
return;
}
if (password_pwd.getText().isEmpty()) {
msgArea.setText("密码不能为空!");
return;
}
// TODO 连接数据库验证用户
}
}
}
追问
非常感谢你!但是isEmpty() 提示错误 the method isEmpty() is underfind for the type String 我看网上解释是java的String没有isEmpty方法,该怎么办?另外密码后面的getText画了条线是什么意思呀?
追答
1、String的isEmpty是jdk1.6之后才有的。如果你不能用这个,可以自己写个子方法,例如
private boolean isEmpty(String value) {
if (value == null || value.length() == 0 || "".equals(value.trim())) {
return true;
} else {
return false;
}
}
2、密码后面的getText画了条线是代表这个方法已经被其它方法取代。而现在这个方法就是被getPassword取代了。但是这个方法还是可以使用的。因为getPassword返回的是一个char数组,我不太喜欢,所以就继续用这个getText了。
附件是修改完的代码,你试试