posts - 1,comments - 1,trackbacks - 0

          import java.awt.*;
          import java.awt.event.*;
          import javax.swing.*;

          import java.awt.image.*;
          import com.sun.image.codec.jpeg.*;
          import java.io.*;
          public class mouse implements ActionListener, WindowListener, MouseMotionListener, MouseListener
          {
           Frame f;

           

           TextField t=new TextField();
           int j;
           int x,y;
           Graphics g,g_in;
           int x1,y1;
           BufferedImage i;

           Panel p1=new Panel(new GridLayout(2,3));

           Button b1=new Button("紅色");
           Button b2=new Button("黃色");
           Button b3=new Button("藍(lán)色");
           Button b4=new Button("綠色");
           Button b5=new Button("矩形");
           Button b6=new Button("圓形");
           
            
           mouse()
           {
            
            
            
           
            t.setEnabled(false);
            
            f=new Frame("畫圖!");
            
            p1.add(b1);
            p1.add(b2);
            p1.add(b3);
            p1.add(b4);
            p1.add(b5);
            p1.add(b6);
            
            b1.addActionListener(this);
            b2.addActionListener(this);
            b3.addActionListener(this);
            b4.addActionListener(this);
            b5.addActionListener(this);
            b6.addActionListener(this);
            
            f.add(t,BorderLayout.NORTH);
            f.add(p1,BorderLayout.EAST);
            
            
            f.setSize(400,400);
            int w=(int)Toolkit.getDefaultToolkit().getScreenSize().getWidth();
            int h=(int)Toolkit.getDefaultToolkit().getScreenSize().getHeight();
            
            f.setLocation((w-400)/2,(h-400)/2);
            f.setBackground(Color.ORANGE);
              
            f.setResizable(false); 
            f.setVisible(true);
            f.addWindowListener(this);
            f.addMouseListener(this);
            f.addMouseMotionListener(this);
            this.getG();
            
           }
           public void getG()
           {
            f.addMouseListener(this); 
            this.g=f.getGraphics();
            i=new BufferedImage(f.getWidth(),f.getHeight(),BufferedImage.TYPE_INT_RGB);
            g_in=i.getGraphics();
            
            
            g_in.setColor(Color.white);
            g_in.fill3DRect(0,0,i.getWidth(),i.getHeight(),true);
           
           }
           
           public void actionPerformed(ActionEvent e)
           {
            if(e.getSource()==b1)
            {
             g.setColor(Color.red);
             g_in.setColor(Color.red);
            }
            else if(e.getSource()==b2)
            {
             g.setColor(Color.yellow);
             g_in.setColor(Color.yellow);
            }
            else if(e.getSource()==b3)
            {
             g.setColor(Color.blue);
             g_in.setColor(Color.blue);
            }
            else if(e.getSource()==b4)

            {
             g.setColor(Color.green);
             g_in.setColor(Color.green);
            }
            else if(e.getSource()==b5)
            {
             j=0;
            }
            else if(e.getSource()==b6)
            {
             j=1;
            }
           
            
            
              
           }
           
           public static void main(String args[])
           {
            mouse my=new mouse();
           }

           public void windowOpened(WindowEvent e) {
           
           }

           public void windowClosing(WindowEvent e) {
           try
            {
             ByteArrayOutputStream is=new ByteArrayOutputStream();//創(chuàng)建一個(gè)字節(jié)類型數(shù)據(jù)的數(shù)據(jù)區(qū)
             
             JPEGImageEncoder coder=JPEGCodec.createJPEGEncoder(is);
             //聲明此數(shù)據(jù)區(qū)只能保存JPG格式的數(shù)據(jù)
             
             coder.encode(i);
             //從內(nèi)存i圖片中提取JPG格式數(shù)據(jù),保存到數(shù)據(jù)區(qū)
             
             FileOutputStream fo=new FileOutputStream("a.jpg");
             
             byte[] b=is.toByteArray();//將數(shù)據(jù)提取成字節(jié)數(shù)組
             
             fo.write(b);//將數(shù)據(jù)寫入a.jpg文件中
             fo.close();//關(guān)閉文件的寫入
             
             f.dispose();
             
             JOptionPane.showMessageDialog(null,"圖片已保存為a.jpg,請(qǐng)察看!"); 
              
            }catch(Exception el){}
           }

           public void windowClosed(WindowEvent e) {
           
           }

           public void windowIconified(WindowEvent e) {
           
           }

           public void windowDeiconified(WindowEvent e) {
           
           }

           public void windowActivated(WindowEvent e) {
            
           }

           public void windowDeactivated(WindowEvent e) {
            
           }

           public void mouseDragged(MouseEvent e) {
            // TODO: Add your code here
           }

           

           public void mouseMoved(MouseEvent e) {
           t.setText("X:"+e.getX()+"Y:"+e.getY()); 
            
           }

           public void mouseClicked(MouseEvent e) {
            // TODO: Add your code here
           }

           public void mousePressed(MouseEvent e) {
            x=e.getX();y=e.getY();
           
           }

           public void mouseReleased(MouseEvent e) {
            
            x1=e.getX();y1=e.getY();
             if (j==1)
             {
              if(x1>=x)
              {
             if(y1>=y)
             {
             g.fillOval(x,y,x1-x,y1-y);
             g_in.fillOval(x,y,x1-x,y1-y);
             }
             else if(y1<y)
             {
             g.fillOval(x,y1,x1-x,y-y1);
             g_in.fillOval(x,y1,x1-x,y-y1);
             }
            }
            
            else if(x1<x)
            {
             if(y1<y)
             {
             g_in.fillOval(x1,y1,x-x1,y-y1);
             g.fillOval(x1,y1,x-x1,y-y1);
             }
             else if(y1>=y)
             {
              g.fillOval(x1,y,x-x1,y1-y);
              g_in.fillOval(x1,y,x-x1,y1-y);
             }
            }}
            else if(j==0)
            {
             if(x1>=x)
              {
             if(y1>=y)
             {
            g.fillRect(x,y,x1-x,y1-y);
            g_in.fillRect(x,y,x1-x,y1-y);
             }
             else if(y1<y)
             {
            g.fillRect(x,y1,x1-x,y-y1);
            g_in.fillRect(x,y1,x1-x,y-y1);
             }
            }
            
            else if(x1<x)
            {
             if(y1<y)
             {
             g.fillRect(x1,y1,x-x1,y-y1);
             g_in.fillRect(x1,y1,x-x1,y-y1);
             }
             else if(y1>=y)
             {
              g.fillRect(x1,y,x-x1,y1-y);
              g_in.fillRect(x1,y,x-x1,y1-y);
             }
            }
            }
            
            
           
           }

           public void mouseEntered(MouseEvent e) {
            
           }

           public void mouseExited(MouseEvent e) {
            // TODO: Add your code here
           }
           
           
            
           
           }

          posted @ 2006-02-28 19:02 飄忽著的 閱讀(322) | 評(píng)論 (1)編輯 收藏
          主站蜘蛛池模板: 巴彦县| 塘沽区| 平邑县| 武胜县| 平顶山市| 平定县| 仁化县| 红河县| 乐东| 河东区| 泽州县| 广宗县| 乌审旗| 定襄县| 新和县| 繁峙县| 大荔县| 中山市| 新建县| 太原市| 康马县| 东平县| 苏尼特左旗| 新民市| 甘泉县| 饶河县| 云南省| 河西区| 广德县| 黎平县| 无极县| 文昌市| 亚东县| 翼城县| 蚌埠市| 宝应县| 济宁市| 双牌县| 凉城县| 西城区| 黄大仙区|