我在互联网上遇到过一个使用这两种陈述的例子:
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)”“但请你对这两者进行彻底的,初学者友好的解释吗?我非常感激。
提前致谢,
亚历。
答案 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 顶级容器的工作原理。