我一直在尝试使用Java中的setStroke方法增加行的宽度,但我似乎得到的唯一输出是一条错误消息“无法找到方法setStroke”。
public void paint(Graphics g){
g.setColor(Color.orange);
g.setStroke(new BasicStroke(4));
g.drawLine(5, 5, 480, 5);
}
我已导入
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.Graphics2D;
答案 0 :(得分:3)
只需将其转发到Graphics2D
并使用它。
例如
Graphics2D g2d = (Graphics2D)g;
g2d.setStroke(new BasicStroke(4));
注意:永远不要忘记在重写方法中调用super.paint(g)
。
答案 1 :(得分:1)
您需要更改输入方法的类型。
public void paint(Graphics2D g){
g.setColor(Color.orange);
g.setStroke(new BasicStroke(4));
g.drawLine(5, 5, 480, 5);
}
为Graphics2D
而不是Graphics
。
编辑:
这也可以(投下它):
public void paint(Graphics2D g){
Graphics2D twoD = (Graphics2D) g;
twoD.setColor(Color.orange);
twoD.setStroke(new BasicStroke(4));
twoD.drawLine(5, 5, 480, 5);
}