java swing中一个窗口类里创建一个面板实例,如何让面板实例调用窗口类中的方法?
答案:4 悬赏:40 手机版
解决时间 2021-01-08 10:02
- 提问者网友:骨子里的高雅
- 2021-01-07 21:51
java swing中一个窗口类里创建一个面板实例,如何让面板实例调用窗口类中的方法?
最佳答案
- 五星知识达人网友:你哪知我潦倒为你
- 2021-01-07 22:28
代码示例:
public A extends Jframe{
public A(){
}
public String way1(){}
public String way2(){}
public String way3(){}
}
其他类中:
A a=new A();
a.way1();
就像这样调用方法;
你创建对象的方法错误,不应该在构造方法中创建对象,这是不可以的。
不需要在窗口实例中创建面板,只需要在窗口对象中加载一个面板对象就可以了
public A extends Jframe{
public A(){
}
public String way1(){}
public String way2(){}
public String way3(){}
}
其他类中:
A a=new A();
a.way1();
就像这样调用方法;
你创建对象的方法错误,不应该在构造方法中创建对象,这是不可以的。
不需要在窗口实例中创建面板,只需要在窗口对象中加载一个面板对象就可以了
全部回答
- 1楼网友:不如潦草
- 2021-01-08 00:43
你这样做的目的是什么
- 2楼网友:梦中风几里
- 2021-01-08 00:06
楼上 的思路, 需要你创建一个新的class extends JPanel 例如 MyJpanel,然后MyJpanel jp = new MyJpanel(this)
- 3楼网友:空山清雨
- 2021-01-07 23:31
其实很简单的。。
在构造出a类的时候,就同步加载出jp类就行了。
具体做法挺简单的,只需在加载A完成之后,将A对象传给即将new出来的B对象即可。
例如:Jpanel jp=new Jpanel(this);
这里this指的是A类, 表示将A传入Jpanel类,然后你自己去Jpanel类中写一个参数为A的构造方法,接收一下,然后定义一个成员属性 A a = null;
在这个构造方法里面 给 a赋值即可。
这样b就持有了a的对象,同时a也有b的对象了。。追问先谢谢你,你的意思是this是A类的对象,窗口怎么能加到面板中呢?或许可以,但牵扯到布局,我现在是编译通不过。就这句Jpanel jp=new Jpanel(this)追答Jpanel jp=new Jpanel(this)
这句肯定错了啊, 你那个类名是Jpanel?肯定不是吧,如果是也只能改成继承Jpanel。
然后你要写一个构造方法,有一个参数,是A
看不懂我上面写的么?
在构造出a类的时候,就同步加载出jp类就行了。
具体做法挺简单的,只需在加载A完成之后,将A对象传给即将new出来的B对象即可。
例如:Jpanel jp=new Jpanel(this);
这里this指的是A类, 表示将A传入Jpanel类,然后你自己去Jpanel类中写一个参数为A的构造方法,接收一下,然后定义一个成员属性 A a = null;
在这个构造方法里面 给 a赋值即可。
这样b就持有了a的对象,同时a也有b的对象了。。追问先谢谢你,你的意思是this是A类的对象,窗口怎么能加到面板中呢?或许可以,但牵扯到布局,我现在是编译通不过。就这句Jpanel jp=new Jpanel(this)追答Jpanel jp=new Jpanel(this)
这句肯定错了啊, 你那个类名是Jpanel?肯定不是吧,如果是也只能改成继承Jpanel。
然后你要写一个构造方法,有一个参数,是A
看不懂我上面写的么?
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯