0

认为:

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

我知道调用构造函数的语法问题,但我不知道出了什么问题。

4

2 回答 2

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

于 2013-05-21T22:44:25.260 回答
0

在 main 方法中,声明并初始化 a Dialog- 而不是 a 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  
    }
}

我看不到您需要什么- 只需在您的 main 方法中Window声明并创建一个新的,然后您就可以访问它。Dialog

于 2013-05-21T22:47:20.933 回答