Java 之 Frame 和Panel
创建两个Panel类:classmainPanel和classcontrolPanel,请问可不可以在一个Frame框架之下添加他们的实例:我是想在Frame的sount...
创建两个Panel类:class mainPanel 和class controlPanel,
请问可不可以在一个Frame框架之下添加他们的实例:
我是想在Frame的sounth添加controlPanel的实例,实现对mainPanel实例的View进行控制。
(——附上您的实现代码更好,有其他解决方案的更好,欢迎大家来讨论,我还是初级菜鸟呢——^_^) 展开
请问可不可以在一个Frame框架之下添加他们的实例:
我是想在Frame的sounth添加controlPanel的实例,实现对mainPanel实例的View进行控制。
(——附上您的实现代码更好,有其他解决方案的更好,欢迎大家来讨论,我还是初级菜鸟呢——^_^) 展开
2个回答
2013-06-25
展开全部
可以,你在Frame的构造函数中将controlPanel的实例添加到下面,将mainPanel的实例添加到中间,代码大致如下:
先在controlPanel的构造函数中添加一个mainPanel类的参数,在其实例化时传进去,注意要先实例化mainPanel,如:
MainPanelmainPanel=newMainPanel();
ControlPanelcontrolPanel=newControlPanel(mainPanel);
然后在Frame框架的构造函数中添加
this.add(controlPanel,Layout.SOUNTH);
this.add(mainPanel,Layout.CENTER);这时controlPanel对象中包含了mainPanel对象的引用,就可以在其方法中控制mainPanel对象了,但要注意mainPanel对象的相关属性或方法必须是public的这样写还不能明白吗?
你把我写的再看几遍,体会下是什么意思
先在controlPanel的构造函数中添加一个mainPanel类的参数,在其实例化时传进去,注意要先实例化mainPanel,如:
MainPanelmainPanel=newMainPanel();
ControlPanelcontrolPanel=newControlPanel(mainPanel);
然后在Frame框架的构造函数中添加
this.add(controlPanel,Layout.SOUNTH);
this.add(mainPanel,Layout.CENTER);这时controlPanel对象中包含了mainPanel对象的引用,就可以在其方法中控制mainPanel对象了,但要注意mainPanel对象的相关属性或方法必须是public的这样写还不能明白吗?
你把我写的再看几遍,体会下是什么意思
2013-06-25
展开全部
Frame是框架窗体,有边框的,Panel是面板,无边框,一般把几个Panel加到一个Frame上
Sun公司的定义:Frame是带标题和边框的最顶层窗体;Panel是个最简单的容器类,它提供空间让程序放其它组件,包括其它Panel。
添加到容器中的组件放在一个列表中。列表的顺序将定义组件在容器内的正向堆栈顺序。如果将组件添加到容器中时未指定索引,则该索引将被添加到列表尾部(此后它位于堆栈顺序的底部)。
public Component getComponent(int n) 获得此容器中的第 n 个组件。public Component[] getComponents() 获得此容器中的所有组件。
Sun公司的定义:Frame是带标题和边框的最顶层窗体;Panel是个最简单的容器类,它提供空间让程序放其它组件,包括其它Panel。
添加到容器中的组件放在一个列表中。列表的顺序将定义组件在容器内的正向堆栈顺序。如果将组件添加到容器中时未指定索引,则该索引将被添加到列表尾部(此后它位于堆栈顺序的底部)。
public Component getComponent(int n) 获得此容器中的第 n 个组件。public Component[] getComponents() 获得此容器中的所有组件。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询