【转】画随意曲线java源代码

/*huatu继承监听接口,在main中监听时才产生,且匿名
*
*Container=e.getSource()
*Container.getGraphics()
*
*e.getActionCommand()
*e.getActionCommand().equals("hong"),不可以用==
*
*p=getContentPane(),p监听画图动作
*
*hxz*/
import java.awt.*; 
import javax.swing.*; 
import java.awt.event.*;
public class HuaTu implements MouseMotionListener,ActionListener{ 
        static final int r=3; 
        static int ox, oy; 
        static int flag=1;
         
        public void actionPerformed(ActionEvent e){ 
                if(e.getActionCommand().equals("红")){//hxz不能用== 
                        flag=1; 
                } 
                else if (e.getActionCommand().equals("黑")){ 
                        flag=2; 
                } 
                else if (e.getActionCommand().equals("退出")) 
                System.exit(0); 
                }
        
         
        public void mouseDragged(MouseEvent e){ 
                Container c=(Container)e.getSource();//Container=e.getSource()
                Graphics g=c.getGraphics();//Container.getGraphics 
                if (ox>=0) {//移动时ox=-1
                        if(flag==1){ 
                                g.setColor(new Color(168,0,255)); 
                                g.drawLine(ox,oy,e.getX(),e.getY());} 
                        else{ 
                                g.setColor(new Color(0,0,0)); 
                                g.drawLine(ox,oy,e.getX(),e.getY());} 
                } 
                ox=e.getX();oy=e.getY(); 
        }
        public void mouseMoved(MouseEvent e){ 
                ox=-1;oy=-1; 
        }
         
        public static void main(String arg[]){ 
                JFrame f=new JFrame("Paint"); 
                Container p=f.getContentPane(); 
                p.setLayout(new FlowLayout()); 
                JButton jButton1 = new JButton("红"); 
                JButton jButton2 = new JButton("黑"); 
                JButton jButton3 = new JButton("退出"); 
                //Graphics g.setColor(new Color(255,0,0)); 
                //ButtonEvent arg=new ButtonEvent(arg); 
                jButton1.addActionListener(new HuaTu());//huatu继承监听接口 
                jButton2.addActionListener(new HuaTu()); 
                jButton3.addActionListener(new HuaTu()); 
                p.addMouseMotionListener(new HuaTu());//contentPane监听 
                p.add(jButton1); 
                p.add(jButton2); 
                p.add(jButton3); 
                f.setSize(200,200); 
                f.setVisible(true); 
        }
}

 

你可能感兴趣的:(java,C++,c,swing,F#)