gpt4 book ai didi

java - 在框架之间移动玻璃板

转载 作者:行者123 更新时间:2023-12-02 08:20:36 25 4
gpt4 key购买 nike

我将组件从主显示器中的一个框架拖动到辅助显示器中的另一个框架,当我拖动玻璃面板中绘制的组件时,我可以看到主显示器上方的玻璃面板,但是在鼠标到达辅助显示器,玻璃板消失了?任何人都可以帮助我吗?如何在辅助显示器上绘制玻璃板?

这是我的一些代码:

public class Main_Frame extends JFrame

{

public Main_Frame (){
//adding the content of main JFrame
setGlassPane(new ImageGlassPane());
//detect other screens and making object of Second_Frame for each
}
}

public class Second_Frame extends JDialog{
public Second_Frame(){
super(new Frame(MultiMonitor.getInstance().getNextDevice().getDefaultConfiguration()),
Title, false);
setGlassPane(new ImageGlassPane());
}

}

public class ImageGlassPane() extends JPanel{
public ImageGlassPane() {
setOpaque(false);

}

protected void paintComponent(Graphics g) {
if ( !isVisible()) {
return;
}
Graphics2D g2 = (Graphics2D) g.create();
g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, alpha));
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);

int x = (int) (location.getX() - (width * zoom / 2));
int y = (int) (location.getY() - (height * zoom / 2));

if (visibleRect != null) {
g2.setClip(visibleRect);
}

if (visibleRect != null) {
Area clip = new Area(visibleRect);
g2.setClip(clip);
}

g2.drawImage(image, x, y, (int) (width * zoom), (int) (height * zoom), null);
}

}

最佳答案

无论您如何在第一个框架的玻璃 Pane 中绘制组件,您也需要对第二个框架进行绘制。听起来这不是两个显示器的问题,而是两个框架的问题。

关于java - 在框架之间移动玻璃板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5535395/

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