关于控件属性引用的问题,请各位给个帮助

发布网友 发布时间:2024-10-24 05:00

我来回答

3个回答

热心网友 时间:2024-10-25 03:05

三个文件是没有问题的。
关键是你按钮定义在JPanel1里。
这样,在按钮发生事件时,JPanel1中无法访问JPanel2实例。
关键问题在于,从组件层次来说,JPanel1和JPanel是不包含的,那么在一个内部无法访问另一个的(正常情况下)。
既然你把2个JPanel分开写了,就说明有分开的必要性。特别是大项目,要尽量使类的耦合性低。
对于这种问题,有这样一种解决方法。
你想让按钮事件触发JPanel2显示,这个调度属性高一层次的,也就是窗口一级的,不能发生在JPanel1里。
那么,你自己设计一个事件类、事件接口,在JPanel1允许注册事件并且使用Vector或ArrayList管理事件。当按钮点击,回调事件的方法。
在窗口中,向JPanel1注册事件。这样,调度工作就放在了窗口里了。
这种方法能使类的耦合性尽量低。
还有种次一些的方法,在构造JPanel1时,向JPanel1传递JPanel2。

热心网友 时间:2024-10-25 03:00

你就1个JFrame
你2个JPanel都是JFrame的属性,都写在JFrame类中,触发事件也写在JFrame类中,就没必要JFrame.XX
别弄成3个文件,不合理,就一个(JFrame)类文件
然后在事件中写 JPanel2.setVisible(true)

热心网友 时间:2024-10-25 03:03

和继承有关系吗?没写过C/S结构的

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com