首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用setLayout(null)使JPanel保持为空(在z轴上)

如何使用setLayout(null)使JPanel保持为空(在z轴上)
EN

Stack Overflow用户
提问于 2016-03-27 04:12:38
回答 1查看 176关注 0票数 1

我有一个名为Scene的JPanel,它包含以下JPanels:FrameProjectorTools

我在Scene上使用null布局,因为我想使用特定的坐标,所以没有其他布局适合我。我使用以下代码将3个JPanels添加到主JPanel Scene中。

代码语言:javascript
复制
setLayout(null);
add(Tools);
add(Frame);
add(Projector);

我使用这个顺序是因为我希望Tools始终在顶部(在z轴上)。

现在,如果我在Projector中做了一些导致重新绘制的事情,那么Projector就会出现在其他层的顶部,隐藏Tools。我可以使用线程来重新绘制整个Scene JPanel,但当Projector来onTop和去onBottom时,我看到了这个“闪光”,我不想这样做。

有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2016-03-27 04:47:40

如果要相对于组件的z轴将组件放置在彼此之上,请考虑使用JLayeredPane作为主容器,然后使用add(...)方法添加组件,该方法将整数作为其第二个参数。最下面的层应该使用JLayeredPane.DEFAULT_LAYER添加,我认为它是0。这将允许非oqaque顶部组件通过它们显示较低的组件。

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

https://stackoverflow.com/questions/36240364

复制
相关文章

相似问题

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