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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? linebean.java~344~

?? flowGUI簡單的java圖形設(shè)計
?? JAVA~344~
字號:
package com.wiziflow.gui;import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.beans.*;/** * 畫線控件。給定起點和終點,畫一條直線。 * 只有當鼠標移出控件時,才開始畫線。 * 如果整個JComponent加監(jiān)聽,則太大;加一個小小的JLabel,增加監(jiān)聽機制, * 很好的解決了line的監(jiān)聽問題 * */public class LineBean extends JComponent {  private Bean startBean = null;//線起點的Bean,跟前面的startBean不同  private Bean endBean = null;//線終點的Bean,跟前面的endBean不同  //如果還沒有endBean,畫線依據(jù)終點  private int newX=0;  private int newY=0;  private Stroke stroke = new BasicStroke(1f);  private JLabel label = new JLabel("流");  private boolean labelDragging=false;//是否在拖拉  private int labelPressX=0;//鼠標點擊在label上的X坐標  private int labelPressY=0;//鼠標點擊在label上的Y坐標  public LineBean() {    jbInit();    //只有設(shè)置了尺寸,才能刷新,調(diào)用paint(Graphics g)方法    //this.setSize(1000,1000);    Dimension d = Toolkit.getDefaultToolkit().getScreenSize();    this.setSize(d);    //以后屏幕能滾動時,僅僅屏幕大小仍然不夠。  }  //設(shè)置起點控件  public void setStartComponent(Bean b) {    startBean = b;  }  //設(shè)置終點控件  public void setEndComponent(Bean b) {    endBean = b;  }  public void remove() {    JLayeredPane flowPane = (JLayeredPane)getParent();    flowPane.remove(this);    flowPane.repaint();  }  private void jbInit()  {    label.setSize(20,20);    label.setFont(new Font("宋體",0,14));    //label.setBorder(BorderFactory.createLineBorder(Color.red));    label.setVisible(false);    //居中處理    label.setHorizontalAlignment(JLabel.CENTER);    label.setVerticalAlignment(JLabel.CENTER);    //流字加鼠標監(jiān)聽    label.addMouseListener(new java.awt.event.MouseAdapter() {      public void mouseClicked(MouseEvent e) {        label_mouseClicked(e);      }      public void mousePressed(MouseEvent e) {        labelPressX=e.getX();        labelPressY=e.getY();      }      public void mouseReleased(MouseEvent e) {        //labelDragging=false;      }    });    this.addPropertyChangeListener(new java.beans.PropertyChangeListener() {      public void propertyChange(PropertyChangeEvent e) {        this_propertyChange(e);      }    });    label.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {      public void mouseDragged(MouseEvent e) {        label_mouseDragged(e);      }    });    this.add(label);    //this.setBorder(BorderFactory.createLineBorder(Color.black));  }  void this_propertyChange(PropertyChangeEvent e) {    //新的坐標點    String name = e.getPropertyName();    if("x".equals(name)) {      newX = Integer.parseInt(e.getNewValue().toString());      newY = Integer.parseInt(e.getOldValue().toString());      //這一段將來還是要的//      if(endBean==null) {//        this.setSize(newX,newY);//      }else{//        this.setSize(Math.abs(endBean.getX()-startBean.getX())*2,Math.abs(endBean.getY()-startBean.getY())*2);//      }    }    this.repaint();  }  public void paint(Graphics g) {    Graphics2D g2 = (Graphics2D)g;//    //想辦法讓線段光滑//    RenderingHints hints = new RenderingHints(//              RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_OFF);//    hints.put(RenderingHints.KEY_FRACTIONALMETRICS, RenderingHints.VALUE_FRACTIONALMETRICS_OFF);//    hints.put(RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_PURE);//    //---------------//    g2.setRenderingHints(hints);//    g2.setStroke(stroke);    g2.setStroke(new BasicStroke(1, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND));    if(endBean!=null) {      newX = endBean.getX()-startBean.getX();      newY = endBean.getY()-startBean.getY();    }//    this.setLocation(startBean.getX(),startBean.getY());//    this.setSize(newX-startBean.getX() ,newY-startBean.getY());    if(startBean!=null && newX!=0) {      Point [] p = null;      if(endBean==null) {//圖標和鼠標之間        Point mousePoint = new Point(startBean.getX()+newX,startBean.getY()+newY);        p = Tools.getClosestPoint(startBean,mousePoint);      }else{//圖標和圖標之間        p = Tools.getClosestPoint(startBean,endBean);      }      //開始畫線和“流”字      if(p!=null) {        //線段中點的坐標        int lineCenterX = p[0].x+(p[1].x-p[0].x)/2;        int lineCenterY = p[0].y+(p[1].y-p[0].y)/2;        Point labelPoint= new Point(lineCenterX,lineCenterY);        //label.setLocation(/2,startBean.getY()+newY/2);        if(!labelDragging) {        label.setLocation(labelPoint);        label.setVisible(true);        }        ////畫線。先畫開始圖標到“流”字,然后從“流”字到結(jié)束圖標        //g2.drawLine((int)p[0].getX(),(int)p[0].getY(),(int)p[1].getX(),(int)p[1].getY());        Point [] one = Tools.getClosestPoint(label,p[0]);        g2.drawLine(one[0].x+2,one[0].y+2,one[1].x-2,one[1].y-2);        Point [] two = Tools.getClosestPoint(label,p[1]);        g2.drawLine(two[0].x+2,two[0].y+2,two[1].x-2,two[1].y-2);      }    }    super.paint(g);  }  void label_mouseClicked(MouseEvent e) {    JLayeredPane flowPane = (JLayeredPane)getParent();    flowPane.moveToFront(label);    label.requestFocus();    System.out.println("流label click");  }  void label_mouseDragged(MouseEvent e) {    labelDragging=true;    label.setLocation(label.getX()+(e.getX()-labelPressX),label.getY()+(e.getY()-labelPressY));    this.repaint();  }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一级国产精品| 欧美放荡的少妇| 日韩va欧美va亚洲va久久| 亚洲人成小说网站色在线| 国产精品天干天干在观线| 国产欧美日产一区| 国产精品三级视频| 中文字幕一区视频| 亚洲欧美激情视频在线观看一区二区三区 | 91精品啪在线观看国产60岁| 欧美综合在线视频| 欧美日韩视频一区二区| 7777精品伊人久久久大香线蕉完整版| 欧美三级三级三级爽爽爽| 色94色欧美sute亚洲13| 在线视频欧美精品| 在线观看亚洲a| 欧美美女一区二区在线观看| 91麻豆精品国产91久久久使用方法| 欧洲一区二区三区免费视频| 3751色影院一区二区三区| 欧美一级精品在线| 国产午夜精品在线观看| 最新日韩av在线| 一区二区三区久久| 青青草原综合久久大伊人精品| 韩日欧美一区二区三区| 粉嫩av一区二区三区粉嫩| 91婷婷韩国欧美一区二区| 欧美日韩中文字幕一区| 日韩欧美在线1卡| 国产精品美女久久久久久久网站| 亚洲免费三区一区二区| 日韩国产一区二| 成人一区二区三区在线观看| 欧美性猛交xxxx黑人交| 精品欧美久久久| 亚洲人成人一区二区在线观看| 天天综合网 天天综合色| 国产精品一二三区| 欧美性感一类影片在线播放| 亚洲精品在线免费播放| 亚洲精品欧美综合四区| 狠狠狠色丁香婷婷综合激情 | 69堂成人精品免费视频| 久久久久久久久久久久久女国产乱| 亚洲视频免费在线观看| 日本不卡高清视频| 一本一道综合狠狠老| 2021国产精品久久精品| 亚洲综合自拍偷拍| 国产白丝网站精品污在线入口| 欧美在线免费播放| 中文字幕免费不卡| 麻豆精品在线视频| 欧美性受极品xxxx喷水| 欧美国产日产图区| 狠狠色丁香久久婷婷综合_中| 欧美日韩一区二区三区免费看| 国产欧美日韩视频在线观看| 美女精品一区二区| 欧美日韩一级二级| 一区二区三区国产精品| 成人av动漫在线| 欧美高清在线一区二区| 精品亚洲国内自在自线福利| 欧美美女直播网站| 一区av在线播放| 91麻豆国产精品久久| 国产精品美女久久久久久久久 | 亚洲一区二区三区在线看| www.色精品| 国产精品素人视频| 狠狠色丁香婷婷综合| 欧美电影免费观看完整版| 日韩福利电影在线| 在线亚洲一区观看| 一区二区不卡在线播放| 日本韩国欧美国产| 夜夜嗨av一区二区三区| 日本久久一区二区三区| 亚洲伦理在线精品| 色婷婷国产精品综合在线观看| 亚洲欧洲日产国产综合网| 成人高清视频在线观看| 国产精品护士白丝一区av| 成人国产精品免费观看视频| 欧美国产一区在线| 91在线看国产| 亚洲一二三四久久| 7777精品伊人久久久大香线蕉完整版| 秋霞电影网一区二区| 日韩欧美一级二级| 国内成人免费视频| 国产精品麻豆久久久| 一本一道久久a久久精品| 亚洲线精品一区二区三区| 日韩一级大片在线观看| 国产一区二区在线视频| 亚洲国产精品av| 欧洲国内综合视频| 蜜臀精品久久久久久蜜臀| 337p粉嫩大胆噜噜噜噜噜91av | 亚洲精品一二三四区| 欧美日韩三级视频| 九九精品视频在线看| 国产精品私人影院| 正在播放亚洲一区| 国产老女人精品毛片久久| 1000精品久久久久久久久| 欧美在线影院一区二区| 九色综合国产一区二区三区| 国产精品污网站| 7777精品伊人久久久大香线蕉完整版 | 91麻豆高清视频| 六月婷婷色综合| 亚洲欧美日韩在线播放| 欧美xxxxx牲另类人与| 91亚洲国产成人精品一区二区三 | 国产精品久久久久久久岛一牛影视 | 亚洲国产精品av| 欧美群妇大交群中文字幕| 国产精品一区久久久久| 亚洲成人手机在线| 国产精品色在线观看| 日韩一区二区免费视频| 91蜜桃网址入口| 久久99热这里只有精品| 亚洲最快最全在线视频| 国产精品嫩草影院com| 日韩一区二区电影| 欧洲国内综合视频| 丁香另类激情小说| 久久99深爱久久99精品| 丝袜诱惑制服诱惑色一区在线观看 | 欧美一区二区成人| 91国产视频在线观看| 国内外成人在线视频| 无码av免费一区二区三区试看 | 久久99热99| 亚洲综合激情网| 中文字幕第一区综合| 欧美一级日韩一级| 91精品福利在线| 91天堂素人约啪| 丁香天五香天堂综合| 国产一区在线精品| 国内精品伊人久久久久av影院| 视频一区在线播放| 日韩黄色免费电影| 香蕉乱码成人久久天堂爱免费| 亚洲一区在线电影| 亚洲自拍另类综合| 午夜日韩在线观看| 婷婷久久综合九色国产成人 | 九色|91porny| 久久国产精品区| 国精品**一区二区三区在线蜜桃| 另类小说欧美激情| 国产毛片精品视频| 国产在线视频一区二区三区| 毛片一区二区三区| 久久99精品国产麻豆婷婷洗澡| 久久99久久精品欧美| 韩国一区二区在线观看| 国产黑丝在线一区二区三区| 国产成人精品亚洲777人妖 | 欧美日韩国产一级二级| 欧美亚洲动漫制服丝袜| 欧美日韩亚洲另类| 51午夜精品国产| 久久女同性恋中文字幕| 国产精品丝袜91| 亚洲黄一区二区三区| 亚洲一二三四在线观看| 人人超碰91尤物精品国产| 老司机一区二区| 成人精品免费看| 91国偷自产一区二区开放时间 | 久久精品国产一区二区三区免费看 | 欧美日韩一二三区| 精品黑人一区二区三区久久| 中文字幕乱码久久午夜不卡 | 日韩黄色片在线观看| 国产一区在线观看麻豆| 91在线观看免费视频| 欧美一区二区三区四区久久| 久久综合九色综合97_久久久| 欧美国产丝袜视频| 亚洲成人动漫在线观看| 国产精品综合av一区二区国产馆| 91在线播放网址| 欧美二区三区91| 中文字幕免费观看一区| 图片区小说区区亚洲影院| 国产最新精品精品你懂的| 色一情一伦一子一伦一区| 欧美一区二区国产| 一区二区三区中文字幕电影 | 亚洲日本在线a|