为什么当我使用 setStroke 时,我的两个多边形都没有边框?
Why doesn't both my Polygons have a border when i use setStroke?
我正在使用以下方法绘制两颗星:
public void draw(Graphics2D g2) {
g2.drawPolygon(xCoordOfStar, yCoordOfStar, POINTS);
g2.setStroke(new BasicStroke(5));
}
和:
public void paintComponent(Graphics g)
{
Graphics2D g2 = (Graphics2D) g;
Star star1 = new Star(100,200,300);
Star star2 = new Star(200,200,300);
star1.draw(g2);
star2.draw(g2);
}
在另一个class。
出于某种我不知道的原因,只有较大的星星 (star2
) 的边框较粗,而 star1
没有任何边框。我做错了什么?
这是一个排序问题。你的第二个多边形有一个边框,因为你的第一个多边形叫做 g2.setStroke(new BasicStroke(5));
注释掉第一个星形代码,第二个星形现在也失去了它的边框。
要修复它,您只需要重新排列方法:
public void draw(Graphics2D g2) {
g2.setStroke(new BasicStroke(5));
g2.drawPolygon(xCoordOfStar, yCoordOfStar, POINTS);
}
我正在使用以下方法绘制两颗星:
public void draw(Graphics2D g2) {
g2.drawPolygon(xCoordOfStar, yCoordOfStar, POINTS);
g2.setStroke(new BasicStroke(5));
}
和:
public void paintComponent(Graphics g)
{
Graphics2D g2 = (Graphics2D) g;
Star star1 = new Star(100,200,300);
Star star2 = new Star(200,200,300);
star1.draw(g2);
star2.draw(g2);
}
在另一个class。
出于某种我不知道的原因,只有较大的星星 (star2
) 的边框较粗,而 star1
没有任何边框。我做错了什么?
这是一个排序问题。你的第二个多边形有一个边框,因为你的第一个多边形叫做 g2.setStroke(new BasicStroke(5));
注释掉第一个星形代码,第二个星形现在也失去了它的边框。
要修复它,您只需要重新排列方法:
public void draw(Graphics2D g2) {
g2.setStroke(new BasicStroke(5));
g2.drawPolygon(xCoordOfStar, yCoordOfStar, POINTS);
}