gpt4 book ai didi

java - 无法从 PasswordField 获取文本甚至转换为 String

转载 作者:行者123 更新时间:2023-11-30 07:58:21 25 4
gpt4 key购买 nike

我无法从我的 JPasswordField 获取输入。我得到它是因为它将作为输出显示在 JOptionPane 中(仅用于练习目的)。

Eclipse 没有给我任何错误,但程序无法正常运行

好的,下面是程序的流程。如果 JPasswordField 等于“admin”。然后将出现一个对话框并显示我的密码(即“admin”)。就是这样。

我已经将 JPasswordField 转换为字符串。但还是。没有要显示的字符串。在Eclipse中也没有错误显示。

代码:

public class GUI2 extends JFrame {
private JButton shut;
private JPasswordField field;


public GUI2(){
super("Display The Password");
setLayout(new FlowLayout());

field = new JPasswordField(10);
add(field);
display = new JButton("Display");
add(display);


thehandler handler = new thehandler();
display.addActionListener(handler);




}

class thehandler implements ActionListener{
String password = new String(field.getPassword());

public void actionPerformed(ActionEvent event){
if (password.equals("admin")){

JOptionPane.showMessageDialog(null, password);


}


}

}
}

最佳答案

问题是当你的类thehandler被实例化时变量password被初始化(new thehandler();)。此时密码等于空字符串。然后当你输入密码想显示的时候,一直没有刷新。

解决方法:

class thehandler implements ActionListener {
public void actionPerformed(ActionEvent event){
String password = new String(field.getPassword());
if (password.equals("admin")){
JOptionPane.showMessageDialog(null, password);
}
}
}

这样,每次单击显示按钮(调用 actionPerformed 方法)时,您将检索 JPasswordField 的当前值。


D. Krauchanka 是对的,但这不是您无法获取在该字段中键入的文本的原因。但是你应该考虑他的建议!

关于java - 无法从 PasswordField 获取文本甚至转换为 String,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40523745/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com