簡體   English   中英

JDialog的方法返回null

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM