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("藍色");
           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();//創建一個字節類型數據的數據區
             
             JPEGImageEncoder coder=JPEGCodec.createJPEGEncoder(is);
             //聲明此數據區只能保存JPG格式的數據
             
             coder.encode(i);
             //從內存i圖片中提取JPG格式數據,保存到數據區
             
             FileOutputStream fo=new FileOutputStream("a.jpg");
             
             byte[] b=is.toByteArray();//將數據提取成字節數組
             
             fo.write(b);//將數據寫入a.jpg文件中
             fo.close();//關閉文件的寫入
             
             f.dispose();
             
             JOptionPane.showMessageDialog(null,"圖片已保存為a.jpg,請察看!"); 
              
            }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 飄忽著的 閱讀(324) | 評論 (1)編輯 收藏
          主站蜘蛛池模板: 尉氏县| 营口市| 衡东县| 宿州市| 茂名市| 宜黄县| 姜堰市| 马鞍山市| 徐州市| 长汀县| 凤翔县| 麻城市| 贵南县| 盐源县| 象州县| 汉中市| 望奎县| 西峡县| 剑河县| 体育| 朔州市| 达拉特旗| 增城市| 镇安县| 高青县| 儋州市| 西乌珠穆沁旗| 麟游县| 崇义县| 从化市| 勃利县| 右玉县| 宝丰县| 金寨县| 喀喇| 遂溪县| 荃湾区| 东安县| 左云县| 化州市| 赤水市|