一个窗口调用另一个窗口中的函数 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(); 展开
A obj= new A();
obj.a(); 展开
1个回答
展开全部
窗口里有个函数这个说法是不对的。为什么函数一定要写在窗口类里呢?简单的窗口完全可以使用原生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;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询