你能解释一下这些陈述吗?

时间:2012-08-08 18:01:52

标签: java swing jframe jlayeredpane jdesktoppane

我在互联网上遇到过一个使用这两种陈述的例子:

dp.add( bg , new Integer( 50 ) );

(dp是JDesktopPane对象,bg是JLabel)

setLayeredPane( dp );

如果您想知道它们是如何使用的,那么这就是我所看到的: http://www.coderanch.com/t/329874/GUI/java/put-background-image-swing

对于Java而言,我是初学者,我理解其余的例子,而不是这两个陈述 - 而且我不知道他们做了什么!让我最困惑的是“新整数(50)”“但请你对这两者进行彻底的,初学者友好的解释吗?我非常感激。

提前致谢,

亚历。

1 个答案:

答案 0 :(得分:2)

请参阅documentation on JLayeredPane

  

每个图层都是一个不同的整数。通过在add调用期间传递Component对象,可以在Integer上设置layer属性。   例如:

layeredPane.add(child, JLayeredPane.DEFAULT_LAYER);
     

layeredPane.add(child, new Integer(10));

您可以找到默认图层值here的整数值。


dp.add(lbl,new Integer(50));

以上内容将JLabel组件lbl添加到JDesktopPane a JLayeredPane),并指定了{{1}层}}。使用小于 50的图层添加到50的组件将在之前呈现,而大于 50的图层的组件将呈现为之后渲染 - 即一个简单的深度顺序,其中更大的层指的是更近的组件。

dp

这会将setLayeredPane( dp ); 对象(JFrame)所代表的ImagePaneTest设置为使用dp作为其分层窗格。您可以在probably shouldn't be a subclass中查看Swing 顶级容器的工作原理。