画图板感受


DrawFrame(画图板)和DrawListener(画板监听器)的联系:
  对于画图板:
1.首先画图板里面要有监听按钮组和画布的监听器所以:
          创建一个监听器对象:DrawListener dlis=new DrawListener(group,g);
          //完成对按钮组和画布的监听
          //因为在画布面板里画图,所以将监听器安装在画布面板上
          drawpanel.addMouseListener(dlis);
2.在画图板里面对按钮进行添加,因为有很多按钮,所以先定义一个字符串数组
     String[] s={"0","1","2","3","4","5","6","7","8","9","10","11"}    
     //使用for循环
     for(int i=0;i<s.length;i++){
             //创建了12个按钮
          javax.swing.JRadioButton jbut=new javax.swing.JRadioButton();
          toolpanel.add(jbut);
          group.add(jbut);
          //以上只是在工具面板里面添加了按钮组而已
          //给每一个按钮设置动作命令
                           (例如:对于s[10],第十一个jbut可以对s[10]里面的“10”设置动作命令)
          jbut.setActionCommand(s[i])
     }
    
3.在画图板中对画布进行添加,注意是在Visible之后
   Graphics g=drawpanel.getGraphics();
   centerpanel.add(drawpanel);
   //注意如果对drawpanel进行布局,是在centerpanel上面
   java.awt.FlowLayout layout=new java.awt.FlowLayout(java.awt.FlowLayout.LEFT);
   centerpanel.setLayout(layout);  
对于监听器:
1.首先要创建一个DrawListener 类
   public class DrawListener extends MouseAdapter{
      2.
     public void mousePressed(MouseEvent e){
       x1=e.getX();
       y1=e.getY();
       g.setColor(Color.BLACK);
       s=group.getSelectde().getActionCommand();
       }
     public void mouseReleased(MouseEvent e){
        x2=e.getX();
        y2=e.getY();
         3.
     } 
   }
2.创建该类的构造函数:
  public DrawListener(javax.swing.ButtonGroup group,java.awt.Graphics g){
  //在这里的group和g只是声明的变量,画图板调用时还要真正创建对象
  this.group=group;
  this.g=g;}
  //所以还要定义一些属性
  private javax.swing.ButtonGroup group;
  private java.awt.Graphics g;
3.因为对每一个按钮都设置了动作命令,所以画图板在安装监听器之后,要得到这些动作命令并执行
    相关动作
    //先定义一个字符串
    private String s;
     if(s.equals("10")){
        g.drawLine(x1,y1,x2,y2);
     }
        
    
  
  
     
   

你可能感兴趣的:(画图板)