首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >简单绘画

简单绘画
EN

Stack Overflow用户
提问于 2012-10-09 22:39:21
回答 2查看 85关注 0票数 0

我手头有一个看似非常简单的任务。我现在有一个网格(500x500 ),我想在填充它时可视化它,我想用Java编写一个类,让我可以轻松地完成这项工作。我在想这样的事情:

代码语言:javascript
运行
复制
public class Screen {
  ...

  public void plot(x,y) {
    // change the color of pixel x,y to black
  }

  public void clear() {
    // fill the screen with white
  }
}

我一直在四处寻找,很快就在awt中找到了Canvas,但是到目前为止,我所能想到的是,这个小部件只允许我通过覆盖它的paint方法来在它上面进行绘制。在我的例子中,这远不是最优的,因为这将需要我每次只绘制一个单独的像素时绘制整个网格。

有没有办法让canvas只画一个像素而不是整个画布?或者其他方法来完成我在这里寻找的东西?

我更希望避免使用任何外部库。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-09 23:01:16

您需要覆盖paint方法才能显示整个栅格。

但是,您可以做的是创建一个翻转一个像素的BufferedImage,并使用Graphics.drawImage()将整个图像绘制到paint方法中的组件。

票数 1
EN

Stack Overflow用户

发布于 2012-10-09 23:15:34

不幸的是,您必须覆盖paint()并在每次调用paint()时呈现整个网格。这就是图形组件的工作方式- windows系统/OS可能会在任何时候请求重新绘制组件(例如。当窗口重新显示/调整大小/移动时)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12802497

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档