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