【发布时间】:2013-08-01 18:46:41
【问题描述】:
我希望将JLayers 的实例堆叠在一起以获得分层效果,但它们似乎不想那样工作。我想装饰单个JPanel,并使用多个LayerUI<JPanel> 类实现的多种效果。
例如
frame.add(new JLayer<>(panel, new LayerUI<> ...));
frame.add(new JLayer<>(panel, new LayerUI<> ...));
new JLayer 的参数是相同的 JPanel 实例,但 LayerUI 实例做不同的事情。
似乎最后一个添加的获胜。它们都在paint 方法中直接绘制到上下文,也许就是这样......?
请参阅 here 获取 Oracles 教程
【问题讨论】:
-
由于其他原因不能这样做:相同的 UI 元素(在本例中为面板)不能在相同的 UI 层次结构中多次使用
-
为了更好的帮助,请尽快发布SSCCE,简短,可运行,可编译
-
这篇文章发布已经有几年了,但我很想知道这个问题的答案。我一直在寻找一种干净的方法来向 JPanel/JComponent 添加多个装饰,但现在几个小时都没有运气。