【发布时间】:2018-09-27 16:10:24
【问题描述】:
我使用 JFrame 创建了一个简单的登录框架。 我有硬编码验证,其中如果用户输入 username 作为 AKASH 和 password 作为 12345 然后 登录成功显示在按钮下方,否则显示密码错误。
一切正常。唯一的事情是:
输入详细信息后我必须双击才能看到结果
谁能帮帮我。
这是我的代码:
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class LginForm extends JFrame implements ActionListener{
Container c;
JTextField jt;
JButton jb;
JPasswordField jp;
JLabel jl1,jl2;
JLabel jl3 = new JLabel("Wrong Password");
JLabel jl4 = new JLabel("Login Successful");
public static void main(String[] args) {
LginForm lf = new LginForm();
lf.setBounds(100, 50, 500, 400);
lf.setVisible(true);
lf.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public LginForm() {
c = this.getContentPane();
c.setBackground(Color.yellow);
c.setLayout(null);
jl1 = new JLabel("Enter Username");
jl1.setBounds(50, 10, 100, 30);
jl1.setFont(new Font(Font.SANS_SERIF, Font.ITALIC, 12));
jl2 = new JLabel("Enter Password");
jl2.setBounds(50, 100, 100, 30);
jl2.setFont(new Font(Font.SANS_SERIF, Font.ITALIC, 12));
jt = new JTextField();
jt.setBounds(200,10,100,30);
jp = new JPasswordField();
jp.setBounds(200,100,100,30);
jb = new JButton("login");
jb.setBounds(130,180,80,30);
c.add(jl1);
c.add(jl2);
c.add(jt);
c.add(jp);
c.add(jb);
jb.addActionListener(this);
}
@Override
public void actionPerformed(ActionEvent event) {
if(event.getSource() == jb) {
String usrname = jt.getText();
String passwrd = String.valueOf(jp.getPassword());
if(usrname.equals("Akash") && passwrd.equals("12345")) {
jl4.setBounds(100, 230, 150, 40);
jl4.setFont(new Font(Font.SANS_SERIF, Font.ITALIC, 12));
c.add(jl4);
c.remove(jl3);
}
else {
jl3.setBounds(100, 230, 150, 40);
jl3.setFont(new Font(Font.SANS_SERIF, Font.ITALIC, 12));
c.add(jl3);
c.remove(jl4);
}
}
}
}
【问题讨论】:
标签: java swing jframe actionlistener