亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? drawfigurepanel.java

?? java實現的版畫圖程序
?? JAVA
字號:
package drawfigure;import java.awt.Graphics;import java.awt.Point;import java.awt.event.MouseEvent;import java.awt.event.*;import javax.swing.JPanel;/** * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2003</p> * <p>Company: </p> * @author 孫明輝 * @version 1.0 */public class DrawFigurePanel extends JPanel {  //atribuits  public static final int SELECT=0;  public static final int LINE=1;  public static final int RECTANGLE=2;  public static final int OVAL=3;  /**  * 當前工具類型,它可能和當前的圖形(currFigure)不一致,比如:用SELECT工具選中一個RectangleFigure  * 那么,當前工具類型=SELECT,而當前圖形=RectangleFigure  */  private int currToolType=-1;  private Figure currFigure=null;  private Figures figures=new Figures();    private Point dragStartPoint, dragEndPoint; //拖放圖形時的起始坐標和終止坐標    public void setCurrentToolType(int type){    currToolType=type;  }  public int getCurrentToolType(){    return currToolType;  }    public void setCurrentFigure(Figure figure){    currFigure=figure;  }  public Figure getCurrentFigure(){    return currFigure;  }  public Figures getFigures(){    return figures;  }  public void setFigures(Figures f){    figures=f;  }  //public Document document;  //methods  public DrawFigurePanel() {    try {      jbInit();    }    catch(Exception e) {      e.printStackTrace();    }  }  private void jbInit() throws Exception {    this.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {      public void mouseDragged(MouseEvent e) {        this_mouseDragged(e);      }      public void mouseMoved(MouseEvent e){      	this_mouseMoved(e);      }    });    this.addMouseListener(new java.awt.event.MouseAdapter() {      public void mouseClicked(MouseEvent e) {        this_mouseClicked(e);      }      public void mousePressed(MouseEvent e) {        this_mousePressed(e);      }      public void mouseReleased(MouseEvent e) {        this_mouseReleased(e);      }    });       ////通常按鍵的時候焦點在其他控件上,而不是在本Panel上,所以此代碼基本沒有用    //this_keyPressed(e)方法被frame的key事件調用才能生效   this.addKeyListener(new KeyAdapter(){   		public void keyPressed(KeyEvent e){   	  this_keyPressed(e);   	}        });   ////  }//end jbIni()  //鼠標單擊  void this_mouseClicked(MouseEvent e) {  //  }  //拖動鼠標的時候  void this_mouseDragged(MouseEvent e) {    if(currFigure==null){return;}        Graphics g=this.getGraphics();    g.setXORMode(this.getBackground());        //System.out.println(currFigure+"\nismoving="+currFigure.isMoving()+"@mouseDrag");        //如果是選擇工具    if(currToolType==SELECT){	    	    	    dragEndPoint=e.getPoint();				if(currFigure.isMoving()){//如果當前圖形可以移動,說明在移動圖形	      		 	currFigure.move(g,dragEndPoint.x-dragStartPoint.x,dragEndPoint.y-dragStartPoint.y);		}else if(currFigure.isResizing()){//如果當前圖形可以變形,說明在變形			currFigure.resize(g,dragEndPoint.x-dragStartPoint.x,dragEndPoint.y-dragStartPoint.y);		}		dragStartPoint=dragEndPoint;		return;	}else{	    //如果是畫圖	    if(currFigure.isFirstDraw()){	      currFigure.draw(g);	      currFigure.setFirstDraw(false);	      if(!(currFigure instanceof SelectFigure)){figures.add(currFigure);}//在此處加進去是否合適?	    }else{			currFigure.draw(g);			currFigure.setEndPoint(e.getPoint());			currFigure.draw(g);          	    }	}	//g.setPaintMode();  }//鼠標移動的時候  void this_mouseMoved(MouseEvent e){  	this.setCursor(figures.getCursor(e.getPoint()));  	  }//按下鼠標的時候  void this_mousePressed(MouseEvent e) {  	//如此多的重復代碼,有待改進===      switch(currToolType){        case LINE: currFigure=new LineFigure(e.getPoint());	         currFigure.setDrawing(true);	         //currFigure.setStartEndPoint(e.getPoint(),e.getPoint());//鼠標按下時起點=終點	         currFigure.setFirstDraw(true);        	 break;         case RECTANGLE: currFigure=new RectangleFigure(e.getPoint());        	 currFigure.setDrawing(true);	         //currFigure.setStartEndPoint(e.getPoint(),e.getPoint());//鼠標按下時起點=終點	         currFigure.setFirstDraw(true);        	 break;        case OVAL:currFigure=new OvalFigure();        	 currFigure.setDrawing(true);	         currFigure.setStartEndPoint(e.getPoint(),e.getPoint());//鼠標按下時起點=終點	         currFigure.setFirstDraw(true);             break;        case SELECT:        	 Figure tmpFigure=figures.getFigureFromPoint(e.getPoint());        	         	 //如果沒有選中了圖形,把上次選中的圖形設置為未選中        	 if(tmpFigure==null){        	 	System.out.println("select none!:(");        	   if((currFigure!=null)&&(currFigure.isSelected())){        	   		currFigure.unSelected();        	   		repaint();        	   	}        	 }else{        	 	//如果選中一個圖形,但是不是當前圖形(上次選中的,或者上次畫的),則把這次選中的設置為當前圖形        	 	if(!tmpFigure.equals(currFigure)){        	   		currFigure.unSelected();        	   		        	   		currFigure=tmpFigure;        	 	}        	 	currFigure.selected();        	 	        	            	 	repaint();        	 	//如果鼠標在控制塊內,則要改變圖形,否則是移動圖形				ControlRect ctrl;        	 	if((ctrl=currFigure.getControlRect(e.getPoint()))!=null){        	 	  	currFigure.setResizing(true,ctrl.getPosition());        	 	}else{        	 										currFigure.setMoving(true);        	 	}        	 	        	 	dragStartPoint=e.getPoint();        	 }//end if        	  //end SELECT case      	}//end switch }//釋放鼠標的時候  void this_mouseReleased(MouseEvent e) {    if(currFigure!=null){    	currFigure.setFirstDraw(false);    	currFigure.setDrawing(false);    	currFigure.setMoving(false);    	currFigure.setResizing(false);    }      }  protected void paintComponent(Graphics g) {    /**@todo Override this javax.swing.JComponent method*/    super.paintComponent(g);    g.setXORMode(this.getBackground());    if(figures!=null)    for(int i=0;i<figures.size();i++){      Object x=figures.get(i);      if(x instanceof LineFigure){        LineFigure lineFigure=(LineFigure)x;        lineFigure.draw(g);      }      if(x instanceof RectangleFigure){        RectangleFigure recFigure=(RectangleFigure)x;        recFigure.draw(g);      }      if(x instanceof OvalFigure){        OvalFigure ovalFigure=(OvalFigure)x;        ovalFigure.draw(g);      }    }        //System.out.println("figures number="+figures.size());    //figures.printAllFigures();  }    public void this_keyPressed(KeyEvent e){    if(e.getKeyCode()==KeyEvent.VK_DELETE){      if((currFigure!=null)&&(currFigure.isSelected())){		figures.remove(currFigure);		repaint();	      }          }  }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人手机在线视频| 亚洲成va人在线观看| 久久毛片高清国产| 中文字幕在线不卡视频| 综合婷婷亚洲小说| 中文字幕五月欧美| 日本午夜精品视频在线观看| 激情都市一区二区| 国产成人一级电影| 欧美性一二三区| 欧美精品一区二区久久婷婷| 国产精品九色蝌蚪自拍| 亚洲一区二区在线播放相泽| 蜜臀av性久久久久av蜜臀妖精| 韩日精品视频一区| 91黄色免费观看| 久久久久久久久久看片| 一二三四区精品视频| 狠狠色丁香久久婷婷综合丁香| 久久久国产一区二区三区四区小说 | 精品国产123| 亚洲va韩国va欧美va| 成人一区二区三区视频在线观看| 在线影院国内精品| 中文字幕一区av| 韩国午夜理伦三级不卡影院| 欧美日韩一级片网站| 亚洲天堂免费看| 成人福利在线看| 亚洲国产精品99久久久久久久久| 久久www免费人成看片高清| 欧美日韩国产成人在线免费| 亚洲高清免费在线| 欧美精品1区2区3区| 一区二区三区日韩欧美| 91欧美一区二区| 亚洲人妖av一区二区| www..com久久爱| 亚洲三级在线免费观看| 欧美日韩在线观看一区二区| 亚洲高清视频在线| 日韩三级在线免费观看| 久久精品国产99| 久久久国产午夜精品| jlzzjlzz国产精品久久| 亚洲少妇屁股交4| 欧美色网站导航| 狠狠狠色丁香婷婷综合久久五月| 久久久久九九视频| 99re成人在线| 视频一区二区欧美| 久久综合久久鬼色| 欧美三级蜜桃2在线观看| 日韩av一级电影| 国产精品久久久久久久午夜片| 欧美亚男人的天堂| 国产成a人亚洲| 日本欧美在线观看| 亚洲一区二区三区视频在线播放 | 亚洲精品在线免费播放| 丁香婷婷综合五月| 五月婷婷综合激情| 国产精品久久夜| 日韩视频一区二区三区| 99v久久综合狠狠综合久久| 奇米影视在线99精品| 亚洲人成网站精品片在线观看| 日韩精品影音先锋| 欧美日韩国产高清一区| 97aⅴ精品视频一二三区| 经典三级一区二区| 偷拍亚洲欧洲综合| 亚洲一区二区三区国产| 1000精品久久久久久久久| 精品精品国产高清a毛片牛牛| 欧美精品vⅰdeose4hd| 91色porny| 欧美视频你懂的| 色婷婷精品大在线视频| 一本久久精品一区二区| 日本精品视频一区二区三区| 欧美体内she精视频| 欧美日本国产视频| 精品少妇一区二区三区在线播放| 欧美日本乱大交xxxxx| 日韩一区二区三区免费看| 欧美二区在线观看| 日韩欧美综合在线| 国产目拍亚洲精品99久久精品| 久久伊人中文字幕| 欧美激情一区三区| 狠狠色丁香婷综合久久| 韩国女主播成人在线| 国产成人在线免费| 欧美色区777第一页| 在线播放中文字幕一区| 精品1区2区在线观看| 国产精品久久久久久久岛一牛影视 | 成人99免费视频| 大陆成人av片| 成人99免费视频| 欧美男男青年gay1069videost| 欧美一区二区三区喷汁尤物| 国产亚洲精品7777| 丝袜诱惑制服诱惑色一区在线观看| 久久激情综合网| 色婷婷av久久久久久久| 欧美一级免费大片| 最近日韩中文字幕| 国产成人精品亚洲777人妖| 欧美丝袜丝交足nylons图片| 久久久久久免费网| 日韩电影在线看| 99久久久久免费精品国产| 精品国产青草久久久久福利| 亚洲精品欧美二区三区中文字幕| 精品在线播放免费| 日韩写真欧美这视频| 亚洲成人一区在线| 91福利国产成人精品照片| 国产精品美女www爽爽爽| 国产精品 日产精品 欧美精品| 欧美区在线观看| 亚洲成a人v欧美综合天堂| 在线观看区一区二| 亚洲综合久久久| 色综合av在线| 夜夜精品视频一区二区| 91女厕偷拍女厕偷拍高清| 强制捆绑调教一区二区| 欧美制服丝袜第一页| 五月天激情综合| 欧美一区日韩一区| 视频一区视频二区中文| 91精品在线一区二区| 精品一区二区三区欧美| 欧美激情艳妇裸体舞| 日本精品一区二区三区高清| 亚洲欧美日韩久久精品| 欧美精品在欧美一区二区少妇| 天天综合色天天综合色h| 91精品国产综合久久精品app | 国产乱人伦偷精品视频不卡| 中文久久乱码一区二区| 日本乱码高清不卡字幕| 日本免费新一区视频| 中文天堂在线一区| 欧美日韩国产综合一区二区三区| 日韩不卡一区二区| 亚洲乱码国产乱码精品精98午夜 | 一区二区不卡在线视频 午夜欧美不卡在| 在线免费av一区| 床上的激情91.| 久久国产精品色| 亚洲二区在线观看| 亚洲欧洲精品一区二区三区不卡| 欧美精品久久久久久久久老牛影院| 国产激情精品久久久第一区二区| 亚洲成av人影院| 亚洲精品高清视频在线观看| 亚洲精品一区二区三区影院| 91精品国产综合久久久久久久久久| 97久久超碰国产精品| 福利一区二区在线观看| 美女视频一区二区三区| 日韩vs国产vs欧美| 懂色av噜噜一区二区三区av| 国产一区二区免费在线| 蜜臀a∨国产成人精品| 五月天视频一区| 日韩av网站在线观看| 日韩av午夜在线观看| 久久精品国产77777蜜臀| 精品亚洲国产成人av制服丝袜| 日韩电影一二三区| 日本91福利区| 久久99九九99精品| 青青青爽久久午夜综合久久午夜| 日本人妖一区二区| 国产一区二区三区在线观看免费| 激情图片小说一区| 成av人片一区二区| 欧美亚洲图片小说| 日韩欧美精品在线| 欧美国产日韩亚洲一区| 蜜桃在线一区二区三区| 国产女主播一区| 久久精品国产亚洲5555| 欧美日韩免费一区二区三区| 久久精品夜夜夜夜久久| 一区二区在线免费| 韩国欧美国产一区| 欧美日韩国产欧美日美国产精品| 国产性做久久久久久| 日本成人在线看| 91亚洲精华国产精华精华液| 久久亚洲免费视频| 三级亚洲高清视频| 色呦呦国产精品| 中文字幕久久午夜不卡|