创建一个窗口拿到容器和面板的问题

AKAcrazyman 2014-05-04 11:44:04
直接上三段代码:
第一段:
JFrame jf = new JFrame() ;
JPanel contentPane = new JPanel();
jf.setContentPane(contentPane);

第二段:
Container con = getContentPane();

第三段:
JFrame jf = new JFrame();
JPanel topPanel = new JPanel();
jf.getContentPane().add(topPanel);

我的疑惑是:
setContentPane 和 getContentPane 这两个方法有什么区别?
还有就是,Container类也能够实现拿到面板的功能?
PS: 刚学JAVA一学期,在各种资料书中自学,实在对于这些方面比较疑惑。
...全文
205 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
AKAcrazyman 2014-05-15
  • 打赏
  • 举报
回复
引用 5 楼 huntor 的回复:
getContentPane 返回的 类型是 Container ,其实是一个JPanel。 JPanel 是 Container的间接子类。 所以可以作为 setContentPane的参数
谢谢。
AKAcrazyman 2014-05-15
  • 打赏
  • 举报
回复
引用 4 楼 alan19931103 的回复:
setContentPane 和 getContentPane 这两个方法有什么区别? 设置内容面板——获取内容面板。 设置、获取 Container类也能够实现拿到面板的功能 为什么不能从储物箱里面拿出一个盒子呢?
这例子形象生动。
AKAcrazyman 2014-05-15
  • 打赏
  • 举报
回复
引用 2 楼 u013584532 的回复:
看样子楼主还没弄清楚get、set方法的区别,一般要是某一方法名是getXxxx()或setXxxx(),这就涉及到了Java中的信息隐藏,这样的get、set方法是在一些属性的修饰符为私有时,所必要的一种代码类型,get方法有返回值,返回值类型根据属性的类型而定,而set方法是没有返回值的,因为属性为私有,所有你想要在其他类中调用这个属性的时候,利用set方法可以改变这个属性的值,get方法是拿到当前属性,像楼主在代码中贴出的 jf.getContentPane().add(topPanel); getContentPane()就是楼主某个类中声明的ContentPane对象属性所返回的一个getContentPane对象,这个对象可以操作ContentPane中的属性和方法,也就有了后面的一句add(topPanel)这一句代码了。也就相当于在其他类中调用ContentPane对像中的add方法。文笔就这样...楼主理解不?
感谢。看懂了。解答了我对这个的疑惑。
alan19931103 2014-05-11
  • 打赏
  • 举报
回复
setContentPane 和 getContentPane 这两个方法有什么区别? 设置内容面板——获取内容面板。 设置、获取 Container类也能够实现拿到面板的功能 为什么不能从储物箱里面拿出一个盒子呢?
huntor 2014-05-11
  • 打赏
  • 举报
回复
getContentPane 返回的 类型是 Container ,其实是一个JPanel。 JPanel 是 Container的间接子类。 所以可以作为 setContentPane的参数
TseJinMing 2014-05-10
  • 打赏
  • 举报
回复
container 就是容器 java gui中很多都属于容器 frame panel 甚至 Label
  • 打赏
  • 举报
回复
看样子楼主还没弄清楚get、set方法的区别,一般要是某一方法名是getXxxx()或setXxxx(),这就涉及到了Java中的信息隐藏,这样的get、set方法是在一些属性的修饰符为私有时,所必要的一种代码类型,get方法有返回值,返回值类型根据属性的类型而定,而set方法是没有返回值的,因为属性为私有,所有你想要在其他类中调用这个属性的时候,利用set方法可以改变这个属性的值,get方法是拿到当前属性,像楼主在代码中贴出的 jf.getContentPane().add(topPanel); getContentPane()就是楼主某个类中声明的ContentPane对象属性所返回的一个getContentPane对象,这个对象可以操作ContentPane中的属性和方法,也就有了后面的一句add(topPanel)这一句代码了。也就相当于在其他类中调用ContentPane对像中的add方法。文笔就这样...楼主理解不?
  • 打赏
  • 举报
回复
楼主可以找个java api中文版的看看,每个方法什么意义一般都有说明,新手学会看api是一件很重要的事情

58,454

社区成员

发帖
与我相关
我的任务
社区描述
Java Eclipse
社区管理员
  • Eclipse
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧