如果我移动JScrollPane使其位于JPanel的前面并部分覆盖JPanel,则JScrollPane内的JEditorPane会出现绘制问题。它没有正确地重新绘制JPanel的背景。因此,滚动时最终会出现屏幕绘制问题。
我已尝试使用以下方法进行重叠 - JPanel中的JScrollPane - 使用FreeLayout(NetBeans GUI Builder)部分覆盖JPanel的JScrollPane - JScrollPane使用JLayeredPane部分覆盖JPanel
JPanel现在有一个坚实的背景,但是只要我有扎实的背景就可以将它扩展为渐变。
如何让JEditorPane从JPanel中获取裁剪后的背景?
我使用jEditorPane.setBackground(new Color(0,0,0,0))
我尝试使用setOpaque(false)
,就像你对某个面板所做的那样,但是如果你对JEditorPane这样做,那似乎就会放回默认背景。
同事的原始问题: https://stackoverflow.com/questions/6364460/jframe-screen-paint-issues-when-using-transparency
最初的问题写得不是很好,似乎没有带来好的答案。
对同事问题的回应 建议:
答案 0 :(得分:5)
Background Panel类的代码会尝试使所有组件都不透明,以便后台显示。
编辑:
如果您想使用透明背景,那么您可以查看Backgrounds With Transparency以获取问题的解释和一些解决方案。
在这种情况下,BackgroundPane是更容易的解决方案。