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

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

?? cubic.java

?? JAVA 2應用編程150例
?? JAVA
字號:
import java.awt.*;import javax.swing.*;import java.awt.event.*;import java.applet.Applet;import java.awt.geom.*;import java.awt.image.BufferedImage;public class Cubic extends JApplet{    static protected JLabel label;    CubicPanel cubicPanel;    public void init(){	//Initialize the layout.        getContentPane().setLayout(new BorderLayout());        cubicPanel = new CubicPanel();        cubicPanel.setBackground(Color.white);	getContentPane().add(cubicPanel);	label = new JLabel("Drag the points to adjust the curve.");	getContentPane().add("South", label);    }    public static void main(String s[]) {        JFrame f = new JFrame("Cubic");        CubicPanel cubicPanel = new CubicPanel();        f.addWindowListener(new WindowAdapter() {            public void windowClosing(WindowEvent e) {System.exit(0);}        });        JApplet applet = new Cubic();        f.getContentPane().add(applet, BorderLayout.CENTER);        applet.init();        f.setSize(new Dimension(350,250));        f.setVisible(true);    }}class CubicPanel extends JPanel implements MouseListener, MouseMotionListener{	BufferedImage bi;	Graphics2D big;	int x, y;	Rectangle area, startpt, endpt, ctrl1, ctrl2, rect;		CubicCurve2D.Double cubic = new CubicCurve2D.Double();	Point2D.Double start, end, one, two, point;	boolean firstTime = true;	boolean pressOut = false;	public CubicPanel(){		setBackground(Color.white);                addMouseMotionListener(this);                addMouseListener(this);		start = new Point2D.Double();		one = new Point2D.Double();		two = new Point2D.Double();		end = new Point2D.Double();                cubic.setCurve(start, one, two, end);		startpt = new Rectangle(0, 0, 8, 8);		endpt = new Rectangle(0, 0, 8, 8);		ctrl1 = new Rectangle(0, 0, 8, 8);		ctrl2 = new Rectangle(0, 0, 8, 8);	}	public void mousePressed(MouseEvent e){		x = e.getX();		y = e.getY();		if(startpt.contains(x, y)){			rect = startpt;			point = start;                        x = startpt.x - e.getX();                        y = startpt.y - e.getY();                        updateLocation(e);		} 		else if(endpt.contains(x, y)){			rect = endpt;			point = end;                        x = endpt.x - e.getX();                        y = endpt.y - e.getY();                        updateLocation(e);		}		else if(ctrl1.contains(x, y)){			rect = ctrl1;			point = one;                        x = ctrl1.x - e.getX();                        y = ctrl1.y - e.getY();                        updateLocation(e);		}		else if(ctrl2.contains(x, y)){			rect = ctrl2;			point = two;                        x = ctrl2.x - e.getX();                          y = ctrl2.y - e.getY();                        updateLocation(e);		} else {			pressOut = true;                }	}	public void mouseDragged(MouseEvent e){                if(!pressOut) {                        updateLocation(e);		}	}	public void mouseReleased(MouseEvent e){                if(startpt.contains(e.getX(), e.getY())){                        rect = startpt;                        point = start;                        updateLocation(e);                }                else if(endpt.contains(e.getX(), e.getY())){                        rect = endpt;                        point = end;                        updateLocation(e);                }                else if(ctrl1.contains(e.getX(), e.getY())){                        rect = ctrl1;                          point = one;                          updateLocation(e);                }                else if(ctrl2.contains(e.getX(), e.getY())){                        rect = ctrl2;                        point = two;                        updateLocation(e);                }                else {                        pressOut = false;                }	}	public void mouseMoved(MouseEvent e){}	public void mouseClicked(MouseEvent e){}	public void mouseExited(MouseEvent e){}	public void mouseEntered(MouseEvent e){}	public void updateLocation(MouseEvent e){		rect.setLocation((x + e.getX())-4, (y + e.getY())-4);		point.setLocation(x + e.getX(), y + e.getY());                checkPoint();                		cubic.setCurve(start, one, two, end);		repaint();	}	public void paintComponent(Graphics g){                super.paintComponent(g);		update(g);	}	public void update(Graphics g){		Graphics2D g2 = (Graphics2D)g;		Dimension dim = getSize();		int w = dim.width;                int h = dim.height;                            	if(firstTime){		  bi = (BufferedImage)createImage(w, h);		  big = bi.createGraphics();		  start.setLocation(w/2-50, h/2);		  end.setLocation(w/2+50, h/2);		  one.setLocation((int)(start.x)+25, (int)(start.y)-25);		  two.setLocation((int)(end.x)-25, (int)(end.y)+25);		  startpt.setLocation((int)((start.x)-4), (int)((start.y)-4));                  endpt.setLocation((int)((end.x)-4), (int)((end.y)-4));                  ctrl1.setLocation((int)((one.x)-4), (int)((one.y)-4));                  ctrl2.setLocation((int)((two.x)-4), (int)((two.y)-4));		  cubic.setCurve(start, one, two, end);        	  big.setColor(Color.black);		  big.setStroke(new BasicStroke(5.0f));		  big.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);		  area = new Rectangle(dim);		  firstTime = false;		} 		// Clears the rectangle that was previously drawn.		big.setColor(Color.white);		big.clearRect(0, 0, area.width, area.height);		// Draws and fills the newly positioned rectangle to the buffer.		big.setPaint(Color.black);		big.draw(cubic);		big.setPaint(Color.red);		big.fill(startpt);		big.setPaint(Color.magenta);		big.fill(endpt);		big.setPaint(Color.blue);		big.fill(ctrl1);		big.setPaint(new Color(0, 200, 0));		big.fill(ctrl2);		// Draws the buffered image to the screen.		g2.drawImage(bi, 0, 0, this);	}	/*         * Checks if the rectangle is contained within the applet window.  If the rectangle         * is not contained withing the applet window, it is redrawn so that it is adjacent         * to the edge of the window and just inside the window.	 */	void checkPoint(){				if (area == null) {			return;		}		if((area.contains(rect)) && (area.contains(point))){			return;		}		int new_x = rect.x;		int new_y = rect.y;		double new_px = point.x;		double new_py = point.y;		if((rect.x+rect.width)>area.getWidth()){			new_x = (int)area.getWidth()-(rect.width-1);		}		if(point.x > area.getWidth()){			new_px = (int)area.getWidth()-1;		}		if(rect.x < 0){  			new_x = -1;		}		if(point.x < 0){			new_px = -1;		}		if((rect.y+rect.width)>area.getHeight()){			new_y = (int)area.getHeight()-(rect.height-1);		}		if(point.y > area.getHeight()){			new_py = (int)area.getHeight()-1;		}		if(rect.y < 0){  			new_y = -1;		}		if(point.y < 0){                        new_py = -1;                }		rect.setLocation(new_x, new_y);		point.setLocation(new_px, new_py);	}}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品一二三四在线| 国产一区二区久久| 亚洲精品一区二区三区香蕉 | 亚洲午夜激情网站| 国产欧美一区二区精品性| 欧美日本国产一区| 99视频有精品| 国产精品一二一区| 美女网站视频久久| 午夜电影网亚洲视频| 亚洲色图视频网站| 国产精品女同互慰在线看| 欧美videos中文字幕| 欧美欧美欧美欧美首页| 91久久国产综合久久| 成人h动漫精品一区二| 国产一区在线不卡| 久久精品国产99国产精品| 天堂成人国产精品一区| 亚洲精品国产精品乱码不99| 国产精品入口麻豆九色| 日韩一区二区三| 56国语精品自产拍在线观看| 欧洲激情一区二区| 色哟哟一区二区三区| 成人97人人超碰人人99| 国产精品1024久久| 韩国一区二区视频| 经典三级在线一区| 激情文学综合插| 97久久精品人人做人人爽50路| 蜜桃av一区二区三区电影| 天堂va蜜桃一区二区三区| 午夜婷婷国产麻豆精品| 亚洲午夜羞羞片| 亚洲亚洲精品在线观看| 一区二区三区影院| 亚洲午夜视频在线观看| 香蕉av福利精品导航| 亚洲大片精品永久免费| 视频一区二区中文字幕| 日产国产高清一区二区三区| 日本成人超碰在线观看| 蜜臀av性久久久久av蜜臀妖精| 日韩中文欧美在线| 奇米色一区二区| 国模一区二区三区白浆| 国产91丝袜在线18| 99久久综合国产精品| 91视频在线观看免费| 色综合久久中文综合久久97| 欧美午夜寂寞影院| 91麻豆精品国产91久久久更新时间| 7878成人国产在线观看| 欧美本精品男人aⅴ天堂| 久久综合色鬼综合色| 国产精品沙发午睡系列990531| 中文字幕日本乱码精品影院| 亚洲一区二区三区国产| 日本亚洲电影天堂| 国产99精品视频| 91猫先生在线| 欧美一区二区视频在线观看| 2019国产精品| 国产精品电影一区二区三区| 亚洲a一区二区| 麻豆91在线播放| 成人视屏免费看| 欧美专区日韩专区| 精品国产乱码久久久久久浪潮 | 欧美精品色一区二区三区| 欧美一区永久视频免费观看| 久久精品视频一区| 亚洲欧美二区三区| 日本成人在线看| 成人高清视频在线| 777亚洲妇女| 国产精品青草综合久久久久99| 亚洲一区免费在线观看| 国内精品国产成人国产三级粉色| 91在线国产福利| 欧美一级高清片在线观看| 国产精品美女久久久久aⅴ | 色久优优欧美色久优优| 制服丝袜中文字幕一区| 日本一区二区三区dvd视频在线| 一级女性全黄久久生活片免费| 蜜桃精品在线观看| 91视视频在线观看入口直接观看www | 亚洲欧美日韩中文播放| 奇米影视7777精品一区二区| 波波电影院一区二区三区| 欧美一区二区成人| 一级女性全黄久久生活片免费| 国产在线观看免费一区| 欧美视频一区二区三区在线观看| 久久精品视频一区二区三区| 石原莉奈在线亚洲三区| 91在线播放网址| 国产日韩欧美麻豆| 日本中文字幕不卡| 欧美综合色免费| 中文字幕制服丝袜成人av | 国内成+人亚洲+欧美+综合在线| 色综合天天综合网天天狠天天| 2020日本不卡一区二区视频| 日韩国产精品大片| 色999日韩国产欧美一区二区| 久久久99久久| 久久99日本精品| 欧美日韩大陆在线| 亚洲四区在线观看| 国产精品一二三| 2021国产精品久久精品| 蜜臀av性久久久久蜜臀aⅴ流畅| 欧洲国内综合视频| 亚洲精品中文字幕乱码三区| 成人aa视频在线观看| 中文字幕第一区| 国产精品66部| 久久蜜桃一区二区| 国产呦精品一区二区三区网站 | 依依成人精品视频| av电影天堂一区二区在线观看| 久久亚洲捆绑美女| 精品一二三四区| 日韩欧美黄色影院| 美女视频一区二区三区| 欧美一区二区大片| 免费观看在线色综合| 欧美一区二区福利在线| 青草国产精品久久久久久| 91精品国产色综合久久ai换脸 | 成人免费看黄yyy456| 欧美激情综合五月色丁香小说| 国产精品996| 国产精品人妖ts系列视频| 懂色av噜噜一区二区三区av| 国产精品少妇自拍| 99热这里都是精品| 怡红院av一区二区三区| 欧美亚洲综合另类| 亚洲va韩国va欧美va| 日韩欧美色综合| 国产精品一区二区男女羞羞无遮挡| 久久综合九色综合欧美亚洲| 国产精品自拍在线| 中文字幕精品—区二区四季| 91丝袜美女网| 一区二区三区毛片| 538prom精品视频线放| 老司机精品视频一区二区三区| 欧美一级爆毛片| 国产精品一二三四区| 亚洲三级在线免费观看| 色综合网色综合| 婷婷久久综合九色综合绿巨人| 日韩欧美国产小视频| 国产一区二区精品久久| 1024精品合集| 制服丝袜成人动漫| 国产一区二区在线看| 成人免费在线视频| 91精品国产91久久久久久一区二区 | 亚洲欧美一区二区久久 | 欧美日韩国产精品成人| 麻豆精品视频在线观看视频| 久久久久久久久一| 日本福利一区二区| 久久精品国产一区二区| 国产精品天干天干在观线| 欧洲亚洲国产日韩| 精品一区在线看| 亚洲精选免费视频| 日韩欧美一二三四区| 99久久免费视频.com| 日韩不卡一区二区三区| 中文字幕中文在线不卡住| 91精品国产麻豆| yourporn久久国产精品| 日韩一区欧美二区| 国产精品不卡一区| 欧美变态tickle挠乳网站| 色88888久久久久久影院按摩| 日本少妇一区二区| 日韩毛片一二三区| 久久综合999| 欧美美女视频在线观看| 成人一区在线观看| 男男成人高潮片免费网站| 亚洲人成7777| 国产亚洲成aⅴ人片在线观看 | 欧美日韩国产一区二区三区地区| 国产一区二区精品久久| 亚洲v日本v欧美v久久精品| 国产精品福利一区| 欧美精品一区二区三区蜜臀| 色94色欧美sute亚洲线路一ni| 国内精品国产成人| 日本成人在线网站|