複数のポップアップウィンドウを使用する大規模なJavaアプリケーションを構築しています。これらのウィンドウの一部は同時に表示できる必要がありますが(たとえば、Google EarthとWebカメラフィードの個別のポップアップ)、一部のウィンドウは一度に1つしか表示できません(たとえば、エラーメッセージ)。 。最初の種類のポップアップであるWebカメラの種類は正常に機能しています。ただし、エラーメッセージポップアップはWebカメラタイプのポップアップのように機能します(つまり、新しい.classファイルが作成され、複数のエラーポップアップが存在する可能性があります)。これを修正するにはどうすればよいですか?新しいエラークラスを作成する必要がありますか?
また、Webカメラタイプのポップアップの1つに、ユーザー名とパスワードを読み取る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);
}
});