gpt4 book ai didi

Java半透明选择框

转载 作者:行者123 更新时间:2023-11-30 07:39:19 24 4
gpt4 key购买 nike

对于自定义呈现,我创建了一个扩展 JPanel 并覆盖 paintComponent 方法的类。在自定义 paintComponent 中,我渲染保存在数组中的多个形状对象。我想添加的是拖动和选择一个或多个形状的能力。拖动时,我想显示一个半透明的矩形,它定义了类似于 Windows 资源管理器中所见的选择区域。任何人都可以提供实现这一目标的起点吗?

谢谢。

最佳答案

我在 JFreeChart 的源代码中看到了一种有趣的方法。您可以在图表的一部分上绘制选取框,当您释放鼠标时,图表会放大所选区域。重新绘制图表的成本很高,不幸的是 JFreeChart 不支持图表的部分绘制。因此,为了绘制选取框,他们以可逆的方式对组件的颜色进行某种按位运算。每次在选择选取框时移动鼠标,您都会反转先前对旧坐标的按位操作,然后在新坐标上重做。

看看 JFreeChart 中的 ChartPanel.java

private void drawZoomRectangle(Graphics2D g2) {
// Set XOR mode to draw the zoom rectangle
g2.setXORMode(Color.gray);
if (this.zoomRectangle != null) {
if (this.fillZoomRectangle) {
g2.fill(this.zoomRectangle);
}
else {
g2.draw(this.zoomRectangle);
}
}
// Reset to the default 'overwrite' mode
g2.setPaintMode();
}

关于Java半透明选择框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/799675/

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