替代绘制组件只能更改颜色



我的代码正在重写paintComponent方法来为GUI着色,该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*/)进行操作,我认为需要Shape而不是Rectangle()才能传递到.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的文档。

最新更新