在 Java 中填充一个矩形
Filling a rectangle in Java
我在谷歌上大量搜索了如何使用 graphics2D 填充矩形。
我目前想制作德国国旗,所以三个矩形。但现在我只想填充一个矩形,看看结果如何。
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Rectangle;
import java.awt.geom.Line2D;
import javax.swing.JComponent;
public class germanflag
{
public void paintComponent(Graphics g)
{
Graphics2D g2 = (Graphics2D) g;
// Construct flag
Rectangle flag = new Rectangle(0, 0, 120, 60);
Graphics2D g2d = flag;
g2d.setColor(Color.RED);
g2d.fillRect(0,0,120,60);
// draw the rectangle
g2.draw(flag);
}
}
显然出现错误。我只是不知道如何纠正它。矩形应该在我填充时创建,还是应该像这段代码一样预先初始化?
问题是您正在尝试将 Rectangle
类型的 cast/assign instance/object 转换为 Grapichs2D
。
//Graphics2D g2d = flag; //not required
g2d.setColor(Color.RED); //use g2 instead
g2d.fillRect(0,0,120,60);//use g2 instead
P.S。 class germanflag
没有扩展任何 Swing 组件。您可能正在寻找 JComponent
或 JPanel
.
我在谷歌上大量搜索了如何使用 graphics2D 填充矩形。
我目前想制作德国国旗,所以三个矩形。但现在我只想填充一个矩形,看看结果如何。
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Rectangle;
import java.awt.geom.Line2D;
import javax.swing.JComponent;
public class germanflag
{
public void paintComponent(Graphics g)
{
Graphics2D g2 = (Graphics2D) g;
// Construct flag
Rectangle flag = new Rectangle(0, 0, 120, 60);
Graphics2D g2d = flag;
g2d.setColor(Color.RED);
g2d.fillRect(0,0,120,60);
// draw the rectangle
g2.draw(flag);
}
}
显然出现错误。我只是不知道如何纠正它。矩形应该在我填充时创建,还是应该像这段代码一样预先初始化?
问题是您正在尝试将 Rectangle
类型的 cast/assign instance/object 转换为 Grapichs2D
。
//Graphics2D g2d = flag; //not required
g2d.setColor(Color.RED); //use g2 instead
g2d.fillRect(0,0,120,60);//use g2 instead
P.S。 class germanflag
没有扩展任何 Swing 组件。您可能正在寻找 JComponent
或 JPanel
.