Java从不同的方法获取textfield值
我有两种方法,第一种方法是添加名称,第二种方法是显示在pageone中键入的名称 但是,如何指向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
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;