Java 创建笔划形状
我在Java 创建笔划形状,java,swing,canvas,Java,Swing,Canvas,我在BasicStroke Outline=newbasicstroke(10f,50,50)中创建笔划形状时遇到问题。我当前收到的错误是错误: 找不到符号画布。setStroke(轮廓)指向点 我对构造器是新手,所以任何帮助都会很好,我做的唯一类似的事情就是创建Scanner的实例 import javax.swing.JFrame; import java.awt.Graphics; import java.awt.Color; //sets color import java.awt.Ba
BasicStroke Outline=newbasicstroke(10f,50,50)中创建笔划形状时遇到问题代码>。我当前收到的错误是错误:
找不到符号画布。setStroke(轮廓)指向点
我对构造器是新手,所以任何帮助都会很好,我做的唯一类似的事情就是创建Scanner
的实例
import javax.swing.JFrame;
import java.awt.Graphics;
import java.awt.Color; //sets color
import java.awt.BasicStroke;
import java.awt.Graphics2D;
public class ColoredOlypmicRings extends JFrame
{
//varriables go here
public void paint(Graphics canvas)
{
super.paint (canvas);
canvas.setColor(Color.green);
canvas.drawOval(100,100,100,100); //color green
canvas.setColor(Color.red);
canvas.drawOval(200,200,100,100); //color red
final BasicStroke Outline = new BasicStroke(10f, 50, 50);
canvas.setStroke(Outline);
canvas.drawOval(300,300,200,200);
}
public ColoredOlypmicRings()
{
setSize(600,400);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public static void main(String[] args)
{
ColoredOlypmicRings guiWindow = new ColoredOlypmicRings();
guiWindow.setVisible(true);
}
}
无法处理笔划,也没有设置笔划的方法
另一方面,可以处理这个类,应该使用。因此,将图形对象强制转换为Graphics2D对象
e、 g
还可以查看BasicStroke API,因为您没有正确使用构造函数,传入了错误的参数
其他问题:
- 不要直接在JFrame或其他顶级窗口中绘制李>
- 而是在JFrame中显示的JPanel的paintComnponent方法中绘制
- 三个int BasicStroke构造函数被错误地用作第二个和第三个参数,它们应该是表示笔划对象的cap和join状态的常量
无法处理笔划,也没有设置笔划的方法
另一方面,可以处理这个类,应该使用。因此,将图形对象强制转换为Graphics2D对象
e、 g
还可以查看BasicStroke API,因为您没有正确使用构造函数,传入了错误的参数
其他问题:
- 不要直接在JFrame或其他顶级窗口中绘制李>
- 而是在JFrame中显示的JPanel的paintComnponent方法中绘制
- 三个int BasicStroke构造函数被错误地用作第二个和第三个参数,它们应该是表示笔划对象的cap和join状态的常量
检查此示例:检查此示例:
@Override
protected void paintComponent(Graphics g) {
Graphics2D g2 = (Graphics2D) g;
g2.setStroke(....); // do it here after casting
}