java - 覆盖油漆组件只能改变颜色
问题描述
我的代码在这里覆盖了paintComponent
为 GUI 着色的方法,它只有一个矩形矩形。然而,我发现我可以在函数中设置颜色,但任何其他类型的格式都没有任何效果。我不能给它一个边框(这是我的主要目标),我什至不能让颜色更亮。我到底在这里想念什么?
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2d = (Graphics2D) g;
if (isFirstTime) {
area = new Rectangle(dim);
rect.setLocation(50, 50);
isFirstTime = false;
}
g2d.setColor(Color.blue.brighter().brighter());
g2d.setStroke(new BasicStroke(100));
g2d.fill(rect);
}
这里的总体目标基本上是能够突出显示选定的对象,但我删除了其他所有内容以归结为基本问题。
解决方案
颜色可以通过进行操作Color color = new Color(float R, float G, float B, float A /*RGB value and alpha value for opacity*/)
,我认为您需要将 aShape
而不是 aRectangle()
传递给该.fill
方法。https://docs.oracle.com/javase/7/docs/api/java/awt/Graphics2D.html#setStroke(java.awt.Stroke)这是 Graphics2D 的文档。https://docs.oracle.com/javase/7/docs/api/java/awt/Color.html这是 Color 的文档。
推荐阅读
- java - 如何从 Java 中的文件中读取 XML 内容作为字符串
- linux - 如何使用正则表达式有效地将参数附加到多个不同的 grub 配置文件
- python - 我如何转换 . 在 PyQt5 的 QLineEdit 中输入 0。
- .htaccess - HTACCESS 将带有 www 和非 www 的子域重定向到主域上的特定页面
- angular - angular 7 HTTP请求动态表单不起作用
- python - VS Code 无法识别 Python 虚拟环境
- gulp - Hugo 在本地构建文件,但不在服务器上
- osgi - 以编程方式执行 OSGI 控制台命令
- validation - 验证和确认有什么区别?
- angular - 导入扩展类的模块