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