Java从不同的方法获取textfield值

Java从不同的方法获取textfield值,java,text,methods,Java,Text,Methods,我有两种方法,第一种方法是添加名称,第二种方法是显示在pageone中键入的名称 但是,如何指向textfield名称来检索输入 public WizardPage pageone() { WizardPage page = new WizardPage("one", "page 1"); JTextField name = new JTextField(); field.setName("Name"); page.add(new JLabel("Enter

我有两种方法,第一种方法是添加名称,第二种方法是显示在pageone中键入的名称

但是,如何指向textfield名称来检索输入

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;

}

在这种情况下,您需要将第一页中的值存储到一个变量中,然后在方法2中调用该变量。除非在pagetwo中有嵌套的方法,该方法将执行pageone方法

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;

    }

方法
pagetTwo
必须引用
名称
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;

} 

将textfield作为引用对象而不是本地对象。将JTextField声明为引用对象。i、 e.
在方法外部或构造函数中声明它作为一种良好的编码实践,在将文本值分配给pagetwo()之前,请始终执行空检查,这样即使您忘记调用pageone(),它也不会错误地破坏代码

私有JTextField名称

公共向导第pageone页(){

}

公共向导第2页(){ 向导页面=新向导页面(“第二页”、“第二页”)


}

可以举一些例子吗?JTextField name=new JTextField();必须在上面吗?在方法中保留它怎么样?如果在方法中保留它,它的范围将受到限制。在
pagetwo()中无法访问它如何作为构造函数执行或在构造函数外部执行,如-
JTextField name并在构造函数中初始化-
name=new JTextField()
我相信它会解决你的问题。你为什么误导别人?不能将textfield对象指定给字符串变量。
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;
page.add(new JLabel("Your name is "));
if(name != null){
   page.add(new JLabel(name.getText()));
} else {
   page.add(new JLabel(""));
}

return page;