首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java框架和标签

java框架和标签
EN

Stack Overflow用户
提问于 2011-10-18 08:17:07
回答 2查看 2.8K关注 0票数 1

我写了我的程序,但我不明白为什么可以写

frame.getContentPane().add(label);

我对上面代码的方法顺序感到困惑,因为上面的代码对应于下面的完整代码。

add方法调用label对象,然后对frame对象调用getContentPane方法。关于这个概念,任何人都可以启发我。如果我能更好地完全理解java,那将会有很大的帮助。:)

代码语言:javascript
复制
JFrame frame = new JFrame ("HelloWorldSwing");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

// set the label
JLabel label = new JLabel("Hello world");
frame.getContentPane().add(label);

frame.setVisible(true);
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-10-18 08:20:09

frame.getContentPane()返回JFrame持有的容器(实际上是一个JPanel),该容器充当它的contentPane。然后,add(...)方法将JLabel添加到contentPane。顺序是从左到右。

这相当于:

代码语言:javascript
复制
JFrame frame = new JFrame ("HelloWorldSwing");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JLabel label = new JLabel("Hello world");
Container contentPane = frame.getContentPane();
contentPane.add(label);
票数 3
EN

Stack Overflow用户

发布于 2011-10-18 08:20:24

您不是“调用对象”,而是调用对象的实例方法(在本例中)。add()方法是框架内容窗格的一个方法,它(在本例中)接受一个JLabel参数。

  1. 调用frame getContentPane()方法,调用对象的add()方法,调用先前构造的JLabel实例( label变量)

从左到右读就行了。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7801099

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档