Rex Mao

          分享java技術與生活

          java畫圖程序技術小結(三) 畫圖的鼠標事件處理

          畫圖的鼠標事件處理是畫圖程序中比較復雜的內容,這里只是簡單介紹,有興趣的可以看程序。
                   Point p0,p1;//
          記錄拖拽畫圖的起點和終點
                   p0=new Point();
                   p1=new Point();
                   //
          鼠標按下,主要記錄按下的點
                   void jPaneDraw_mousePressed(MouseEvent e) {
                      p0=new Point(e.getX(),e.getY());
          }
                   //
          鼠標拖拽過程,根據不同的圖形,畫出拖拽過程的圖形,復雜圖形可以用矩形代替
                   void jPaneDraw_mouseDragged(MouseEvent e) {
                   switch(toolMode){
                   case 0:{ //
          直線
                 p1.x = e.getX();
                  p1.y = e.getY();
                  g.setColor(col);
                  g.drawLine(p0.x, p0.y, p1.x, p1.y);
                  jPaneDraw.repaint();
                  break;
             }
                   ...//
          其它圖形
          }
          }
          //
          鼠標抬起,根據p0p1生成對應的圖形
          void jPaneDraw_mouseReleased(MouseEvent e) {
             switch(toolMode){
          case 0:{ //
          直線
                   CusLine2D aCusShape = new CusLine2D(p0.x, p0.y, p1.x, p1.y); //
          建立圖形
                   ...//
          將圖形加入到圖形列表
                   break;
          }
                   ...//
          其它圖形
          }
                   jPaneDraw.repaint();
          }

          posted on 2007-04-24 17:07 Rex Mao 閱讀(2217) 評論(1)  編輯  收藏 所屬分類: 技術

          評論

          # re: java畫圖程序技術小結(三) 畫圖的鼠標事件處理 2007-04-25 23:10 me

          這是程序里最難的部分嗎?我得多看看了   回復  更多評論   

          主站蜘蛛池模板: 阿鲁科尔沁旗| 杂多县| 北海市| 嘉鱼县| 石狮市| 灵台县| 游戏| 南宫市| 遵义市| 嘉鱼县| 汉沽区| 即墨市| 民县| 新邵县| 华蓥市| 哈尔滨市| 南靖县| 伊春市| 台江县| 沙洋县| 青田县| 广平县| 凤冈县| 阿拉善左旗| 满洲里市| 顺义区| 嘉峪关市| 广州市| 柳州市| 馆陶县| 清远市| 板桥市| 开封市| 马关县| 延庆县| 建阳市| 固镇县| 江阴市| 岱山县| 长乐市| 诏安县|