【发布时间】:2021-01-21 00:09:09
【问题描述】:
我的代码覆盖了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);
}
这里的总体目标基本上是能够突出显示一个被选中的对象,但我删除了其他所有内容以归结为基本问题。
【问题讨论】:
-
是
rectRectangle(Dimensions)? -
@Luke 这是
Rectangle(x, y, height, width) -
对于颜色,您可以查找 RGB 值并说
Color color = new Color(RGBvalue)以获得正确的颜色并将color传递给.setColor -
我依稀记得如果你使用十六进制,你也可以设置不透明度,这可能有助于突出显示
-
我也相信您需要将
Shape传递给.fill方法
标签: java swing user-interface paintcomponent