[英]Method of JDialog returns null
問題:為什么字符串name
總是為空?
這是我在班級中創建對話框“ 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);
}
從另一個類獲取用戶值的方法:
public String Get(){
return name;
}
在這里,我嘗試使用該值,但name
始終為null
:
Add l = new Add();
l.init();
String name = l.Get();
您兩次創建Add
實例的問題。 刪除Add dialog = new Add();
在init()
方法中,它將起作用。
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();
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.