用我的代码试试。
package T7;
import java.awt.Container;
import java.awt.GridBagLayout;
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.JOptionPane;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
public class Login2 extends JFrame{
/**
* 事件:
* 1.事件类
* 2.数据源:
* 3.处理
* 实现控件的事件步骤
* 1.创建控件(btnLogin)
* 2.创建事件类(ActionHandle)
* 3.创建事件类的对象;
* 4.控件与事件类的实例对象进行绑定;
* btnLogin.addActionListener(actionHandle);
*
*
* */
JButton btnLogin,btnCancel;
JLabel lblUser,lblPass;
JTextField txtUser;
JPasswordField txtPass;
public Login2() {
lblUser = new JLabel("用户名称:",JLabel.RIGHT);
lblPass = new JLabel("登录密码:",JLabel.RIGHT);
txtUser = new JTextField();
txtPass = new JPasswordField();
btnLogin = new JButton("登录");
btnCancel = new JButton("关闭");
//设置窗口的GridLayout布局
Container con = getContentPane();
con.setLayout(new GridLayout(3,2,10,20));
add(lblUser);
add(txtUser);
add(lblPass);
add(txtPass);
add(btnLogin);
add(btnCancel);
//创建Action事件的对象
ActionHandle actionHandle = new ActionHandle();
//绑定Action事件
btnLogin.addActionListener(actionHandle);
btnCancel.addActionListener(actionHandle);
setSize(300, 300);
setVisible(true);
//设置窗口居中
setLocationRelativeTo(null);
//点击关闭按钮时退出程序
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new Login2();
}
//定义一个Action的内部类实现ActionListener接口
class ActionHandle implements ActionListener{
public void actionPerformed(ActionEvent e) {
//弹出对话框:showMessageDialog
/*
* 参数1:是指父类(课视化的窗口类),如果没有传null值,如果有一般传this
* 参数2:对话框中显示的内容
* */
//getSource函数获取当前发生事件的控件名称
if(e.getSource()==btnLogin){
//getText获取文本框的内容
//trim函数删除字符串2端的空格
String txtusername = txtUser.getText().trim();
System.out.println(txtusername);
String txtpassword = txtPass.getText().trim();
if(txtusername.equals("admin") && txtpassword.equals("1234")){
JOptionPane.showMessageDialog(null, "登录成功");
}else{
JOptionPane.showMessageDialog(null, "用户名或密码错误,登录失败");
}
}else if(e.getSource()==btnCancel){
JOptionPane.showMessageDialog(null, "窗口马上要关闭");
//exit函数:关闭窗口,退出程序
System.exit(0);
}
}
}
}
18,19行注释掉,不需要,25行改为jf.add(p1)
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632