1

複数のポップアップウィンドウを使用する大規模な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);
            }
        });
4

1 に答える 1

0

Andrew Thompsonが私に示したように、JOptionPaneは私が探していたソリューションです。それはあなたが必要とするかもしれないほとんどすべてのタイプのポップアップを作成することができます。

JOptionPane Javadoc

JOptionPaneを使用したシンプルなダイアログ

于 2012-06-23T04:43:36.843 に答える