一个窗口调用另一个窗口中的函数 java 20

A窗口里有个函数a();而且A窗口已经打开。B窗口按一个按钮,按完后A窗口中的函数a()执行。应该在B中添加什么代码?按下B窗口中的按钮后,不要新建一个A窗口,是直接执行... A窗口里有个函数a();而且A窗口已经打开。B窗口按一个按钮,按完后 A窗口中的函数a()执行。应该在B中添加什么代码?按下B窗口中的按钮后,不要新建一个A窗口,是直接执行函数a(); 所以不能用
A obj= new A();
obj.a();
展开
 我来答
GTA小鸡
高粉答主

2018-04-25 · 醉心答题,欢迎关注
知道大有可为答主
回答量:2.6万
采纳率:78%
帮助的人:1.3亿
展开全部
窗口里有个函数这个说法是不对的。为什么函数一定要写在窗口类里呢?简单的窗口完全可以使用原生JFrame,方法定义在外部,然后在窗口中调用。
更多追问追答
追问
我问的就是怎么调用另一个类的函数
追答

假如你使用了继承于JFrame的类AFrame,其中有个public方法foo()。现在使用AFrame建立一个窗口a,为了保证持有a的唯一引用,应该使用单例模式。

public AFrame a;
public JFrame b;

public AFrame get_a(){
    if(a==null){
        a = new AFrame();
        initialize_a(); //a的初始化工作
    }
    return a;
}

public JFrame get_b(){
    if(b==null){
        b = new JFrame();
        JButton jb = new JButton("foo"); //建立一个名为foo的按钮
        jb.addActionListener(e->{ //注册按钮事件
            get_a().foo(); //调用窗口对象a的foo()方法
        });
        b.getContentPane().add(jb); //添加到b的内容面板中
        initialize_b(); //b的其他初始化工作
    }
    return b;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式