我希望将JLayers
的实例彼此堆叠在一起以获得分层效果,但是它们似乎不想那样工作。我想用多个JPanel
类实现的多个效果来装饰单个LayerUI<JPanel>
。
例如
frame.add(new JLayer<>(panel, new LayerUI<> ...));
frame.add(new JLayer<>(panel, new LayerUI<> ...));
new JLayer
的参数是相同的JPanel
实例,但LayerUI
实例具有不同的作用。看来最后一个增加了胜利。它们都直接引用
paint
方法中的上下文,也许就是这样。有关Oracle的教程,请参见here
最佳答案
我不熟悉JLayer,因为它是Java 1.7的新功能。
但是,您可以编写自己的Layer类,其中包含BufferedImage和z级别。
您的draw方法将通过“层列表”或“层图”,并以z级顺序在JPanel上绘制它们。