JDialog 的方法 returns null
Method of JDialog returns null
问题:为什么字符串 name
总是空值?
这就是我在 class 中创建对话框 Add
的方式:
public void init (){
try {
Add dialog = new Add();
dialog.setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE );
//dialog.add(comp)
dialog.setModal(true) ;
//dialog.setModalityType(dialog.DEFAULT_MODALITY_TYPE);
dialog.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
这里我从用户那里获取值:
public void actionPerformed(ActionEvent arg0) {
name = textField.getText();
System.out.println(name);
setVisible(false);
}
从另一个获取用户值的方法class:
public String Get(){
return name;
}
这里我尝试使用值,但是name
总是null
:
Add l = new Add();
l.init();
String name = l.Get();
您创建 Add
实例两次时出现问题。去掉init()
方法中的Add dialog = new Add();
,就可以了。
public void init (){
try {
this.setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE );
//dialog.add(comp)
this.setModal(true) ;
//dialog.setModalityType(dialog.DEFAULT_MODALITY_TYPE);
this.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
问题:为什么字符串 name
总是空值?
这就是我在 class 中创建对话框 Add
的方式:
public void init (){
try {
Add dialog = new Add();
dialog.setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE );
//dialog.add(comp)
dialog.setModal(true) ;
//dialog.setModalityType(dialog.DEFAULT_MODALITY_TYPE);
dialog.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
这里我从用户那里获取值:
public void actionPerformed(ActionEvent arg0) {
name = textField.getText();
System.out.println(name);
setVisible(false);
}
从另一个获取用户值的方法class:
public String Get(){
return name;
}
这里我尝试使用值,但是name
总是null
:
Add l = new Add();
l.init();
String name = l.Get();
您创建 Add
实例两次时出现问题。去掉init()
方法中的Add dialog = new Add();
,就可以了。
public void init (){
try {
this.setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE );
//dialog.add(comp)
this.setModal(true) ;
//dialog.setModalityType(dialog.DEFAULT_MODALITY_TYPE);
this.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}