繁体   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