close

執行:java Painter

檔案1. PaintPanel.java

import java.awt.Point;
import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionAdapter;
import javax.swing.JPanel;

public class PaintPanel extends JPanel

{

   private int pointCount = 0 ;

   private Point points[] = new Point [ 10000 ];

   public PaintPanel()

   {

      addMouseMotionListener

      (

         new MouseMotionAdapter()

         {

            public void mouseDragged( MouseEvent event )

            {

               if ( pointCount

               {

                  points[ pointCount ] = event.getPoint();

                  pointCount++;

                  repaint();

               }

            }

         }

      );

   }

   public void paintComponent( Graphics g )

   {

   super.paintComponent( g );

   for ( int i = 0; i

   g.fillOval( points[ i ].x, points[ i ].y, 4, 4 );

   }

}


---------------------------------------------------------------------

檔案2 Painter.java

import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class Painter

{

   public static void main( String args[] )

   {

   JFrame application = new JFrame( "A simple paint program" );

   PaintPanel paintPanel = new PaintPanel();

   application.add( paintPanel, BorderLayout.CENTER );

   application.add( new JLabel( "Drag the mouse to draw" ),BorderLayout.SOUTH );

   application.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );

   application.setSize( 400, 200 );

   application.setVisible( true );

   }

}

 

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 a25561970 的頭像
    a25561970

    萬花筒

    a25561970 發表在 痞客邦 留言(0) 人氣()