2013-05-21 102 views
0

假設:如何從另一個類訪問具有多個swing組件的方法? (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 

我知道它的語法問題與調用構造函數,但我不知道什麼是錯。

+2

_我的問題是,我無法弄清楚如何訪問Eclipse上的方法._ Java代碼不依賴於IDE。 – BackSlash

+0

我們需要更多的代碼我的朋友。我在這裏看不到足夠的肉 – Coffee

回答

1

試一下:

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相同的名稱。

+0

很抱歉,我沒有複製粘貼,所以真正的節目有括號。此外,我需要在括號中的一個參數來匹配贏... – BDillan

+0

你想說「匹配贏...」嗎?爲了幫助你澄清你的問題。 –

+0

Nvm。由於你的幫助,我完全按照你所做的完成了工作。謝謝! – BDillan

0

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

public class Main{ 

    Dialog instance = new Dialog(); 

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

對話框類應該是這樣的:

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因爲 - 只需在主要方法中聲明並創建一個新的Dialog,然後就可以訪問它。

相關問題