1

最初の方法は名前を追加する方法で、2 番目の方法は pageone に入力した名前を表示する方法です。

ただし、テキストフィールド名を指定して入力を取得するにはどうすればよいですか?

public WizardPage pageone() {

    WizardPage page = new WizardPage("one", "page 1");

    JTextField name = new JTextField();
    field.setName("Name");
    page.add(new JLabel("Enter your name: "));
    page.add(name);

    return page;

}

    public WizardPage pagetwo() {
    WizardPage page = new WizardPage("two", "page 2");

    JTextField displayName = new JTextField();
    displayName.setName("displayName");
    page.add(new JLabel("Your name is "));
    page.add(displayName);

    return page;

}
4

4 に答える 4

1

pageone() を呼び出すのを忘れた場合でもコードが壊れないように、pagetwo() にテキスト値を代入する前に常に null チェックを行うことをお勧めします。

プライベート JTextField 名;

public WizardPage pageone() {

WizardPage page = new WizardPage("one", "page 1");

name = new JTextField();
name.setName("Name");
page.add(new JLabel("Enter your name: "));
page.add(name);

return page;

}

public WizardPage pagetwo() { WizardPage page = new WizardPage("2", "ページ 2");

page.add(new JLabel("Your name is "));
if(name != null){
   page.add(new JLabel(name.getText()));
} else {
   page.add(new JLabel(""));
}

return page;

}

于 2013-09-27T11:03:43.933 に答える
1

メソッドpagetTwoには への参照が必要name JTextFieldです。nameメソッドでフィールドの内容を読み取ることができるように、変数をクラスのフィールドとして宣言しますpagetTwo

このようなもの:

private JTextField name;

public WizardPage pageone() {

    WizardPage page = new WizardPage("one", "page 1");

    name = new JTextField();
    name.setName("Name");
    page.add(new JLabel("Enter your name: "));
    page.add(name);

    return page;

}

public WizardPage pagetwo() {
    WizardPage page = new WizardPage("two", "page 2");

    page.add(new JLabel("Your name is "));
    page.add(new JLabel(name.getText()));

    return page;

} 
于 2013-09-27T10:29:16.033 に答える
0

この場合、ページ 1 の値を変数に格納し、メソッド 2 でその変数を呼び出す必要があります。

String replaceName;

public WizardPage pageone() {

        WizardPage page = new WizardPage("one", "page 1");

        JTextField name = new JTextField();
        field.setName("Name");
        page.add(new JLabel("Enter your name: "));
        page.add(name);
    replaceName = name;


        return page;

    }

        public WizardPage pagetwo() {
        WizardPage page = new WizardPage("two", "page 2");

        JTextField displayName = new JTextField();
        displayName.setName("displayName");
        page.add(new JLabel("Your name is "));
        page.add(replaceName);

        return page;

    }
于 2013-09-27T10:28:43.807 に答える
0

テキストフィールドをローカル オブジェクトではなく参照オブジェクトとして作成します。JTextField を参照オブジェクトとして宣言します。すなわちdeclare it outside the method or in a constructor

于 2013-09-27T10:37:13.900 に答える