Java 之 Frame 和Panel

来源:百度知道 编辑:UC知道 时间:2024/05/21 12:01:22
创建两个Panel类:class mainPanel 和class controlPanel,
请问可不可以在一个Frame框架之下添加他们的实例:
我是想在Frame的sounth添加controlPanel的实例,实现对mainPanel实例的View进行控制。
(——附上您的实现代码更好,有其他解决方案的更好,欢迎大家来讨论,我还是初级菜鸟呢——^_^)
能补充一下代码吗?
伪代码也行的
谢谢了

可以,你在Frame的构造函数中将controlPanel的实例添加到下面,将mainPanel的实例添加到中间,代码大致如下:
先在controlPanel的构造函数中添加一个mainPanel类的参数,在其实例化时传进去,注意要先实例化mainPanel,如:
MainPanel mainPanel = new MainPanel();
ControlPanel controlPanel = new ControlPanel(mainPanel);
然后在Frame框架的构造函数中添加
this.add(controlPanel, Layout.SOUNTH);
this.add(mainPanel, Layout.CENTER);

这时controlPanel 对象中包含了mainPanel 对象的引用,就可以在其方法中控制mainPanel 对象了,但要注意mainPanel 对象的相关属性或方法必须是public的

这样写还不能明白吗?
你把我写的再看几遍,体会下是什么意思

完全没问题,可以动态的添加嘛,你还可以用一个Pane来做,这样不是更方便?