当前位置: 首页 > 知识库问答 >
问题:

图形和图形2D的区别?

蒙才
2023-03-14
public void paintComponent(Graphics g)
{
    super.paintComponent(g);
    g.drawRect(25, 25, 20, 20); //use Graphics to paint rectangle
    Graphics2D g2 =(Graphics2D)g;
    g2.drawRect(0, 0, 20, 20); // use Graphics2D to paint rectangle
}

共有1个答案

齐迪
2023-03-14

图形本身是一个抽象类,因此不能创建它的实例。它只定义了一些接口和一些功能,可以由其他类扩展。

因此,即使在PaintComponent中用作参数的G也不仅仅是Graphics。标准java库只有两个扩展类:debuggraphics,graphics2d,因此您使用的graphics2d实例存储在graphics2d中。

如果不是,行Graphics2D g2=(Graphics2D)g;将以错误结束。

 类似资料:
  • 线形图,区域图和条形图允许您在 X/Y 轴上绘制数据。 首先,您需要选择定义值轴的 指标 。 指标聚合: Count 计数 聚合返回所选索引模式中元素的原始计数。 Average 该聚合返回数字字段的平均值 。从下拉菜单中选择一个字段。 Sum 总和 聚合返回数字字段的总和。从下拉菜单中选择一个字段。 Min 最小值 聚合返回数字字段的最小值。从下拉菜单中选择一个字段。 Max 最大值 聚合返回数

  • 问题内容: 下学期,我们有一个团队中的Java应用程序模块。该模块的要求是制作游戏。在圣诞节假期里,我一直在做一些练习,但是我想不出绘制图形的最佳方法。 我正在使用Java Graphics2D对象在屏幕上绘制形状,并每秒调用30次,但这非常闪烁。有没有更好的方法来绘制Java中的高性能2D图形? 问题答案: 您想要做的是创建一个带有BufferStrategy的canvas组件并对其进行渲染,下

  • 问题内容: 我正在尝试使Java 2D图形“ hello world”运行起来,并发现它异常困难(即,我正在搜索“ java hello world example”的变体,然后变成空白)。有人能帮我举一个最小的世界范例吗? 编辑 不过,这是一个不错的起点,“ Java教程:执行自定义绘画” 。 问题答案: 要在Swing中绘制矩形,您应该: 首先,永远不要直接在JFrame或其他顶级窗口中绘制。

  • 我现在正在做一个项目,但我找不到解决问题的方法。 这就是我的问题:我有一个JFrame,然后我添加了一个容器JPanel,并向这个容器面板添加了另外两个JPanel,第一个面板(InputPanel)用于用户输入,第二个面板(Board)用于根据用户输入显示指定的算法。 请注意,在我的Board类中,我重写了paintComponent(图形g)来绘制算法。 主框架中的我的代码: 我最初的计划是在

  • 图形概述 理解图形系统是深入游戏开发的关键。本章详细介绍 Unity 的图形特性,例如光照和渲染。

  • 我试图在JPanel上画一些简单的形状,但是有一些困难。如果这个问题似乎以前已经回答过,但其他答案似乎没有帮助,请原谅。 我遵循了一个简单的教程,并成功地在JFrame上绘制了一些基本形状,但是当我将代码如何移动到一个扩展JPel的新类中时,屏幕上什么也没有出现。 我尝试过设置首选大小,重新验证和重新绘画。我添加了对super.paint组件的调用,尽管当我直接绘制到JFrame时,这两个调用都不