在java中绘制其他像素

时间:2014-02-02 17:28:36

标签: java graphics pixels

我正在尝试绘制帧上的每个像素,但我无法弄清楚如何绘制下一个像素,它只显示一个像素绘制,plz帮助。 我不知道如何实现这一点,有人编辑此代码,以便它绘制相邻坐标plz中的像素。

import java.lang.*;
import java.util.*;
import java.util.List;
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;

   public class MyDrawPixel extends Frame {

      public Point mypoint = new Point();      
      public static void drawPixel(Graphics g, int x, int y, int size, Paint color)
     {
         Graphics2D ga = (Graphics2D)g;
         Shape circle = new Ellipse2D.Float(x, y, size, size);   
         ga.setPaint(color);
         ga.draw(circle);
         ga.setPaint(color);
         ga.fill(circle);
     }

     public void paint(Graphics g) {
        Graphics2D ga = (Graphics2D)g;
        drawPixel(g, mypoint.x, mypoint.y, 1, Color.black);
     }


  public static void main(String args[])
  {    

      MyDrawPixel frame = new MyDrawPixel();    
      frame.mypoint.x = 43;
      frame.mypoint.y = 43;
      MyDrawPixel frame1 = new MyDrawPixel();    
      frame1.mypoint.x = 44;
      frame1.mypoint.y = 44;
      MyDrawPixel frame2 = new MyDrawPixel();    
      frame2.mypoint.x = 45;
      frame2.mypoint.y = 45;
      MyDrawPixel frame3 = new MyDrawPixel();    
      frame3.mypoint.x = 46;
      frame3.mypoint.y = 46;
      MyDrawPixel frame4 = new MyDrawPixel();    
      frame4.mypoint.x = 47;
      frame4.mypoint.y = 47;

      frame.addWindowListener(
      new WindowAdapter()
      {
          public void windowClosing(WindowEvent we)
         {
            System.exit(0);
         }
      }
      );

       frame.setSize(400, 400);
      frame.setVisible(true);
   }
}

1 个答案:

答案 0 :(得分:1)

您正在创建5个框架并仅显示一个框架。您需要做的是创建1帧并正确显示它。

您可以使用repaint()刷新屏幕,如果您想移动一个点,只需更改重绘之间的属性。

甚至更好,找到一个关于自定义绘画的正确教程,你的代码非常糟糕。