【问题标题】:Java, create and edit a Graphics Object for Panel?Java,为面板创建和编辑图形对象?
【发布时间】:2020-04-12 11:52:50
【问题描述】:

我的 Java 学校有以下任务:

使用您自己的图形创建一个 GUI 窗口。该图形应在单独的 JPanel 类中创建,并使用 java.awt.Graphics 类的绘制和填充方法进行绘制(例如,带花园的房子、汽车……)。图形应包含至少 5 种不同类型的图形(矩形、椭圆形、...)、至少一个多边形(draw 或 fillPolygon (polygon p) 方法)和一个圆弧(draw 或 fillArc 方法 (int x, int y, int 宽度,int 高度,int startAngle,int arcAngle))。图形还应包含至少 10 个绘图元素,并包含至少 4 种不同的颜色。

但是我不知道如何使用图形类,所以我不知道如何创建图形对象并对其进行编辑。有谁知道如何解决这个问题?谢谢

【问题讨论】:

  • 欢迎来到 Stack Overflow。本网站上的问题应以英文书写。请编辑您的问题并将其翻译成英文。

标签: java graphics panel draw


【解决方案1】:

您可以将图形与 JPanel 一起使用;

class exampleclass extends JPanel {
    exampleClass() {
       ...
    }

    @Override
    public void paintComponent(Graphics g) {
        ...your code here...
    }

}

欲了解更多信息,请查看; https://docs.oracle.com/javase/7/docs/api/java/awt/Graphics.html

你可以用repaint();调用paint方法

【讨论】:

  • 如何使用方法paint(Graphics g)?如果我尝试这样做:paint(Graphics g1 = new Graphics()),我得到一个错误:/所以问题是我无法创建图形对象
  • @AirKrypton 因为,您不能创建新的 Graphics 实例。这个方法已经用图形调用了。您可以在不创建新实例的情况下使用“g”。你也不能定义这样的变量。
  • 哦,谢谢。但是,如果我还没有为参数创建对象,我该如何调用方法绘制呢?
  • @AirKrypton 不客气。您可以随时调用 repaint() 方法,无需创建参数。它总是会为你创建一个 Graphics 实例。如果有帮助,请标记为解决方案。
  • 是的,我会的。但是方法paint没有返回任何东西,所以我应该将void替换为Graphics,以便我可以将Graphics对象添加到Panel?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-27
  • 1970-01-01
  • 2019-04-18
  • 1970-01-01
  • 2015-06-27
  • 1970-01-01
相关资源
最近更新 更多