Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 素描_Java_Awt - Fatal编程技术网

Java 素描

Java 素描,java,awt,Java,Awt,我手头似乎有一项非常简单的任务。我有一个网格(现在是500x500),我想在它被填充时可视化它,我想用Java编写一个类,使这对我来说很容易做到。我的想法大致如下: 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 }

我手头似乎有一项非常简单的任务。我有一个网格(现在是500x500),我想在它被填充时可视化它,我想用Java编写一个类,使这对我来说很容易做到。我的想法大致如下:

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方法来使用它。在我的情况下,这远远不是最佳的,因为这将需要我每次只绘制一个像素时绘制整个网格

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


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

您需要覆盖绘制方法以显示整个网格


但是,您可以创建一个翻转一个像素的网格,并使用绘制方法将整个图像绘制到组件。

不幸的是,您必须重写
paint()
,并在每次调用paint()时渲染整个网格。这就是图形组件的工作原理-windows系统/操作系统可能会随时请求重新绘制组件(例如,当窗口重新显示/调整大小/移动时)