0

私はJava Swing開発の初心者で、次の問題があります。

ユーザーがユーザー名とパスワードを挿入するログインウィンドウを作成するために、従来のJFrame Swing クラスを拡張するカスタムLoginFrameがあります。

このクラス内には、次のようなものがあります。

externalPanel.setLayout(new net.miginfocom.swing.MigLayout("fill"));    
    externalPanel.add(new JLabel("Username"), "w 50%, wrap");
    JTextField userNameTextField = new JTextField(20);    
    externalPanel.add(userNameTextField, "w 90%, wrap");    
    externalPanel.add(new JLabel("Password"), "w 50%, wrap");
    // JTextField pswdTextField = new JTextField(20);
    JPasswordField pswdTextField = new JPasswordField(20);
    externalPanel.add(pswdTextField, "w 90%, wrap");    
    JButton loginButton = new JButton("Login");
    // loginButton.setActionCommand("loginAction");
    loginButton.addActionListener(this);

    @Override
    public void actionPerformed(ActionEvent e) {
        // TODO Auto-generated method stub
        System.out.println("Button LogIn cliccked");    
        firePropertyChange("loginResult", false, loginResult);    
    }

ご覧のとおり、ユーザーがJButton loginButtonオブジェクトをクリックしたときに実行される actionPerformed があります。

わかりました、私の問題は次のとおりです: actionPerformed()^^ メソッド内から、 **JTextField userNameTextFieldおよびJPasswordField pswdTextFieldに挿入された値にどのようにアクセスできますか?

私は何をしなければなりませんか?

TNX

アンドレア

4

2 に答える 2

2

JTextField userNameTextField, JPasswordField pswdTextField, JButton loginButton globel として宣言します。次に、このような値を取得できます..

@Override
public void actionPerformed(ActionEvent e) {
    if(e.getSource() == loginButton){
         String name = userNameTextField.getText();
         char[] pass = pswdTextField.getPassword();
         // your remaining operation...
    }

}
于 2013-11-30T09:33:52.067 に答える
0

JTextField の場合: jTextField.getText() ---> 文字列を返します

JPasswordField の場合: jPasswordField.getPassword() ----> char[] を返します

于 2013-11-30T09:38:55.500 に答える