如何将图形线条制作成 JFrame



我使用Eclipse,我想通过以下代码在JFrame中制作一条图形线:

public void Makeline () {
    Graphics g=new Graphics(); // has error
    Graphics2D g2 = (Graphics2D) g;
    g2.draw(new Line2D.Double(0, 0, 20, 20));
}

但给出以下错误:

Cannot instantiate the type Graphics

>Graphics是一个抽象类,定义了整个API的要求。

Swing 中的绘画是在油漆链的背景下完成的。这通常在从JComponent扩展的组件的paintComponent方法中执行

查看 Perfoming 自定义绘画 了解更多详情

您还可以使用BufferdImage来生成Graphics上下文,但您仍然需要某个地方来绘制图像,因此它取决于您要实现的目标。

解决方案是覆盖paintComponent方法,但JFrame不是JComponent,所以使用JPanel而不是JFrame,然后将JPanel添加到JFrame。

paintComponent(Graphics g) {
    super.paintComponent(g)
    //here goes your code
    Graphics2D g2 = (Graphics2D) g;
    ...
}

图形是一个抽象类。您无法按照方式实例化。

 Graphics g=new Graphics(); 

要访问Graphics2D,首先需要覆盖paint(Graphics)方法。

@Override
public void paint(Graphics g) {
    Graphics2D g2 = (Graphics2D) g;
}

相关内容

  • 没有找到相关文章

最新更新