簡體   English   中英

如何從另一個類訪問帶有多個swing組件的方法? (Java)

[英]How can I access a method with several swing components from another class? (Java)

假設:

public class Window
{

public void Dialog ()
{
JDialog JD = new JDialog();

// add pictures/labels onto JDialog

}
}

和:

public class Main
{

//Suppose here is a GUI with a button that if clicked called the Dialog method

}

我的問題是我無法弄清楚如何在Eclipse上訪問該方法。 我在Window類上創建了一個構造函數來調用該方法,但這對我不起作用。

  Window instance1 ; // create instance of class public Window (Window temp){ instance1 = temp; } 
///On Main Class

Dialog temp1 = new Dialog (temp1);

temp1.OpenDialog (); // calls method from other class

我知道通過調用構造函數來解決語法問題,但是我不知道怎么了。

試試看:

public class Window
{
    public void dialog()// you re forgeting the parenttheses
    {
        JDialog JD = new JDialog();

        // add pictures/labels onto JDialog
    }
}

您可以通過以下方式訪問方法:

public class Main{
    Window win;

    public Main(){
        win = new Window();
        win.dialog();
    }
}

另一件事是約定在方法名稱的第一個字母上不使用大寫字母。 大寫的第一個字母用於類構造函數。

構造函數不返回任何類型的變量,並使用與Class相同的名稱。

在main方法中,聲明並初始化Dialog而不是Window

public class Main{

    Dialog instance = new Dialog();

    public Main(){    
        instance.methodWithinDialogClass();//add pictures/labels onto JDialog
    }
}

您的Dialog類應如下所示:

public class Dialog{

    private Object pics;

    public Dialog(){
        //do some stuff to setup Dialog, initialize variable etc if you wish
    }

    public void methoWithinDialogClass(){
        //add pics etc to pics  
    }
}

我看不到Window需要什么-只需在main方法中聲明並創建一個新的Dialog ,然后就可以訪問它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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