gpt4 book ai didi

java - 在 Java 弹出窗口中重用 JTextField

转载 作者:行者123 更新时间:2023-12-01 05:17:14 26 4
gpt4 key购买 nike

我正在构建一个使用多个弹出窗口的大型 Java 应用程序。其中一些窗口必须能够同时显示(例如,Google 地球和网络摄像头提要的单独弹出窗口),但其中一些只能一次显示一个(例如,错误消息) 。第一种弹出窗口,即网络摄像头类型,运行良好。但错误消息弹出窗口的行为类似于网络摄像头类型的弹出窗口(即,它们创建新的 .class 文件,并且可能有多个错误弹出窗口)。我该如何解决?我应该创建一个新的错误类吗?

此外,在一个网络摄像头类型的弹出窗口中,我有 JTextFields 可以读取用户名和密码。此登录弹出窗口工作正常,但如果我使用它一次,关闭它,然后再次使用它,则在 JTextFields 上执行 getText() 会返回一个空字符串。我认为这个问题可能与上面的问题有关,但我不确定。

passwordAction.addActionListener(new ActionListener() {
JFrame pwPop=new JFrame("Log in");
JTextField unameField;
JTextField pwField;
public void actionPerformed(ActionEvent arg0) {
pwPop.setBounds(250,200,300,150);
JPanel pwPopPanel=new JPanel(new FlowLayout(FlowLayout.LEFT,10,10));
pwPop.add(pwPopPanel);
unameField=new JTextField();
pwField=new JTextField();
JButton logInButton=new JButton("Log in");
JButton cancelButton=new JButton("Cancel");
JLabel logInText=new JLabel("Username:");
JLabel passwordText=new JLabel("Password:");
JPanel buttonPanel=new JPanel(new FlowLayout(FlowLayout.CENTER,5,0));
pwPopPanel.add(logInText);
pwPopPanel.add(unameField);
pwPopPanel.add(passwordText);
pwPopPanel.add(pwField);
buttonPanel.add(logInButton);
buttonPanel.add(cancelButton);
pwPopPanel.add(buttonPanel);
logInButton.addActionListener(new ActionListener() {
JFrame logErrorFrame;
public void actionPerformed(ActionEvent arg0) {
if (doLogIn(unameField.getText(), pwField.getText(), "")) {
unameField.setText(null);
pwField.setText(null);
pwPop.setVisible(false);
}
}
});
pwPop.setVisible(true);
}
});

最佳答案

正如 Andrew Thompson 向我展示的那样,JOptionPane 是我一直在寻找的解决方案。它能够创建您可能需要的几乎任何类型的弹出窗口。

JOptionPane Javadoc

Simple Dialog with JOptionPane

关于java - 在 Java 弹出窗口中重用 JTextField,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10973809/

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