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 飄忽著的 閱讀(323) | 評論 (1)編輯 收藏
          僅列出標題  
          主站蜘蛛池模板: 蓬溪县| 包头市| 牡丹江市| 常熟市| 东台市| 黄龙县| 浦东新区| 平安县| 兴城市| 揭阳市| 静乐县| 惠安县| 莱芜市| 廉江市| 梅州市| 东兴市| 大理市| 石屏县| 芷江| 洛隆县| 美姑县| 平邑县| 黄浦区| 黔东| 吉首市| 涟水县| 喀什市| 贵定县| 全南县| 盈江县| 茌平县| 城市| 高密市| 东城区| 南平市| 永城市| 吉木乃县| 延津县| 城步| 西城区| 敖汉旗|