gpt4 book ai didi

Java Swing : Clearing custom painting from a JPanel overlayed with other JPanels in a JLayeredPane

转载 作者:行者123 更新时间:2023-12-03 12:12:53 26 4
gpt4 key购买 nike

我有一个包含三个 JPanel 的 JLayeredPane,其中两个重叠,我正在为其绘制形状。重叠的两个 JPanel 之一需要清除绘制到它的每个形状,而不影响绘制到它下面的 JPanel 的形状从屏幕上消失。目前我正在使用这样的东西:

    Graphics g = pane2.getGraphics(); 
g.clearRect (0, 0, 1000, 1000);

但这不仅会清除绘制到 pane2 的所有内容,还会清除它下面的 pane1。所以我的问题是:有没有什么方法可以清除绘制到一个 JPanel 上的所有内容,而不影响绘制到其下的 JPanel 上的任何内容?

最佳答案

确保您的面板是透明的。我认为你需要这样的代码:

Graphics g = pane2.getGraphics();      
g.clearRect (0, 0, 1000, 1000);
pane2.repaint(0, 0, 1000, 1000);

或者您应该能够使用以下命令强制重绘所有面板:

layeredPane.repaint();

关于Java Swing : Clearing custom painting from a JPanel overlayed with other JPanels in a JLayeredPane,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5660704/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com