我在互联网上遇到了一个使用这两个语句的示例:
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的初学者,并且我理解了示例的其余部分,只是不理解这两个语句-令我感到困惑的是,我不知道它们在做什么!最让我感到困惑的是“ new Integer(50)”,但是请您对两者进行彻底的,对初学者友好的解释吗?非常感谢。
提前致谢,
亚历克斯
最佳答案
请参见documentation on JLayeredPane
。
每层是一个不同的整数。可以通过在添加调用期间传递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
指定层的JLayeredPane
(是50
)中。添加到dp
中的层少于50个的组件将在之前渲染,而具有层数大于50的组件将在之后渲染-即简单的深度顺序,其中较大的层表示较近的组件。setLayeredPane( dp );
这会将
JFrame
对象(该probably shouldn't be a subclass)表示的ImagePaneTest
设置为使用dp
作为其分层窗格。您可以在relevant Java Tutorial中查看Swing顶级容器的工作方式。关于java - 您能解释这些说法吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11870429/