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

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

?? minidrawpad.java~27~

?? 自制小畫板!為JBUILDER版本。相當具有參考價值
?? JAVA~27~
?? 第 1 頁 / 共 4 頁
字號:
        jMenuFile.add(jMenuFileOpen);
        jMenuFile.add(jMenuFileSave);
        jMenuFile.addSeparator();
        jMenuFile.add(jMenuFileExit);
        jMenuColor.add(jMenuColorChoose);
        jMenuStroke.add(jMenuStrokeChoose);
        jMenuHelp.add(jMenuAbout);
        contentPane.add(drawingArea, java.awt.BorderLayout.CENTER);
        contentPane.add(statusBar, java.awt.BorderLayout.SOUTH);
        jPopupMenu1.add(jMenuItem1);
        jPopupMenu1.add(jMenuItem2);
        jPopupMenu1.add(jMenuItem3);
        createNewItem();
        //show();
    }
    /**
     * Help | About action performed.
     *
     * @param actionEvent ActionEvent
     */
    void jMenuHelpAbout_actionPerformed(ActionEvent actionEvent) {
        MiniDrawPad_AboutBox dlg = new MiniDrawPad_AboutBox(this);
        Dimension dlgSize = dlg.getPreferredSize();
        Dimension frmSize = getSize();
        Point loc = getLocation();
        dlg.setLocation((frmSize.width - dlgSize.width) / 2 + loc.x,
                        (frmSize.height - dlgSize.height) / 2 + loc.y);
        dlg.setModal(true);
        dlg.pack();
        dlg.setVisible(true);
    }

    /**鼠標事件mouseA類,繼承了MouseAdapter,用來完成鼠標相應事件操作**/
            class mouseA extends MouseAdapter{				//鼠標事件mouseA類,繼承了MouseAdapter
                    public void mousePressed(MouseEvent e){		//定義鼠標按下事件
                            statusBar.setText("當前坐標在:["+e.getX()+","+e.getY()+"]"+"已經畫了"+index+"個圖...");
                                                                                                            //設置狀態提示
                            itemList[index].x1 = itemList[index].x2 = e.getX();//設定坐標X軸
                            itemList[index].y1 = itemList[index].y2 = e.getY();//設定坐標Y軸

    /**如果當前選擇的圖形是隨筆畫或者橡皮擦,則進行下面的操作**/
                            if(currentChoice == 3 || currentChoice == 13){
                                    itemList[index].x1 = itemList[index].x2 = e.getX();//設定坐標X軸
                                    itemList[index].y1 = itemList[index].y2 = e.getY();//設定坐標Y軸
                                    index++;							//指針加1
                                    createNewItem();					//創建新圖
                            }

    /**如果當前選擇的圖形式文字輸入,則進行下面操作**/
                            if(currentChoice==18){
                                    itemList[index].x1 = e.getX();		//設定坐標X軸
                                    itemList[index].y1 = e.getY();		//設定坐標Y軸

                                    String input;						//輸入字符串
                                    input = JOptionPane.showInputDialog(
                                            "請鍵入文字!");				//顯示輸入對話框內容
                                    itemList[index].s1 = input;
                                    itemList[index].x2 = f1;			//設定坐標X軸
                                    itemList[index].y2 = f2;			//設定坐標Y軸
                                    itemList[index].s2 = style1;		//設定字體風格

                                    index++;							//指針加1
                                    currentChoice = 18;
                                    createNewItem();					//創建新圖
                                    drawingArea.repaint();				//圖形式文字輸入
                            }
                    }
    /**鼠標釋放**/
                    public void mouseReleased(MouseEvent e){	//定義鼠標釋放
                            statusBar.setText("當前坐標在:["+e.getX()+","+e.getY()+"]"+"已經畫了"+index+"個圖...");
                                                                                                            //設置狀態提示
                            if(currentChoice == 3 || currentChoice == 13){
                                    itemList[index].x1 = e.getX();		//設定坐標X軸
                                    itemList[index].y1 = e.getY();		//設定坐標Y軸
                            }
                            itemList[index].x2 = e.getX();			//設定坐標X軸
                            itemList[index].y2 = e.getY();			//設定坐標Y軸
                            repaint();
                            index++;								//指針加1
                            createNewItem();						//創建新圖
                    }
    /**鼠標進入**/
                    public void mouseEntered(MouseEvent e){		//定義鼠標進入
                            statusBar.setText("當前坐標在:"+e.getX()+","+e.getY()+"]"+"已經畫了"+index+"個圖...");
                    }											//設置狀態提示
    /**鼠標退出**/
                    public void mouseExited(MouseEvent e){		////定義鼠標退出
                            statusBar.setText("當前坐標在:"+e.getX()+","+e.getY()+"]"+"已經畫了"+index+"個圖...");
                    }											//設置狀態提示
    /**鼠標右鍵**/
                    public void mouseClicked(MouseEvent e){		//定義鼠標右鍵
                            statusBar.setText("當前坐標在:"+e.getX()+","+e.getY()+"]"+"已經畫了"+index+"個圖...");
                            int mods=e.getModifiers();				//設置狀態提示
                            if((mods&InputEvent.BUTTON3_MASK)!=0){	//右鍵判斷
                                    jPopupMenu1.show(drawingArea,e.getX(),e.getY());
                                                                                                            //顯示快捷菜單
                            }
                    }
            }//mouseA完成

    /**鼠標事件mouseB類繼承了MouseMotionAdapter,用來完成鼠標拖動和鼠標移動時的相應操作**/
            class mouseB extends MouseMotionAdapter{
    /**鼠標拖移**/
                    public void mouseDragged(MouseEvent e){
                            statusBar.setText("當前坐標在:["+e.getX()+","+e.getY()+"]"+"已經畫了"+index+"個圖...");
                                                                                                            //設置狀態提示
                            if(currentChoice == 3 || currentChoice == 13){
                                    itemList[index-1].x1 = itemList[index].x2 = itemList[index].x1 = e.getX();//設定坐標X軸
                                    itemList[index-1].y1 = itemList[index].y2 = itemList[index].y1 = e.getY();//設定坐標Y軸
                                    index++;							//指針加1
                                    createNewItem();					//創建新圖
                            }
                            else{
                                    itemList[index].x2 = e.getX();		//設定坐標X軸
                                    itemList[index].y2 = e.getY();		//設定坐標Y軸
                            }
                            repaint();								//重畫
                    }
    /**鼠標移動**/
                    public void mouseMoved(MouseEvent e){
                            statusBar.setText("當前坐標在:["+e.getX()+","+e.getY()+"]"+"已經畫了"+index+"個圖...");
                    }											//設置狀態提示
            }

    /**選擇字體風格時候用到的時間偵聽器類,加入到字體風格的選擇框中**/
                                                                                                            //checkBoxHandler類繼承ItemListener
            private class checkBoxHandler implements ItemListener{
                    public void itemStateChanged(ItemEvent e){	//定義字體改變事件
                            if(e.getSource() == blod)
                                    if(e.getStateChange() == ItemEvent.SELECTED)
                                            f1 = Font.BOLD;
                                    else
                                            f1 = Font.PLAIN;
                            if(e.getSource() == italic)
                                    if(e.getStateChange() == ItemEvent.SELECTED)
                                            f2 = Font.ITALIC;
                                    else
                                            f2 = Font.PLAIN;
                    }
            }

    /**畫圖板面板類,用來畫圖**/
            class DrawPanel extends JPanel{					//畫圖面板類繼承JPanel
    /**定義畫圖面板**/
                    public DrawPanel(){							//定義畫圖面板
                            setCursor(Cursor.getPredefinedCursor(Cursor.CROSSHAIR_CURSOR));
                                                                                                            //設置光標
                            setBackground(Color.white);				//設置背景色為白色
                            addMouseListener(new mouseA());			//添加鼠標mouseA類偵聽
                            addMouseMotionListener(new mouseB());	//添加鼠標mouseb類偵聽
                    }
                    public void paintComponent(Graphics g){		//調用該UI委托的paint方法
                            super.paintComponent(g);				//定義繪畫組件
                            Graphics2D g2d = (Graphics2D)g;			//定義畫筆

                            int j = 0;
                            while(j <= index){
                                    draw(g2d,itemList[j]);
                                    j++;
                            }
                    }
                    void draw(Graphics2D g2d,drawings i){
                            i.draw(g2d);							//將畫筆傳入到各個子類中,用來完成各自的繪圖
                    }
            }

    /**新建一個畫圖基本單元對象的程序段**/
            void createNewItem(){
                    if(currentChoice == 18)						//進行相應的游標設置
                            drawingArea.setCursor(Cursor.getPredefinedCursor(Cursor.TEXT_CURSOR));
                    else
                            drawingArea.setCursor(Cursor.getPredefinedCursor(Cursor.CROSSHAIR_CURSOR));

                    switch(currentChoice){
                            case 3:
                                    itemList[index] = new Pencil();		//隨筆化
                            break;
                            case 4:
                                    itemList[index] = new Line();		//直線
                            break;
                            case 5:
                                    itemList[index] = new Rect();		//矩形
                            break;
                            case 6:
                                    itemList[index] = new fillRect();	//填充矩形
                            break;
                            case 7:
                                    itemList[index] = new Oval();		//橢圓
                            break;
                            case 8:
                                    itemList[index] = new fillOval();	//填充橢圓
                            break;
                            case 9:
                                    itemList[index] = new Circle();		//圓形
                            break;
                            case 10:
                                    itemList[index] = new fillCircle();	//填充圓形
                            break;
                            case 11:
                                    itemList[index] = new RoundRect();	//圓角矩形
                            break;
                            case 12:
                                    itemList[index] = new fillRoundRect();//填充圓角矩形
                            break;
                            case 13:
                                    itemList[index] = new Rubber();		//橡皮擦
                            break;
                            case 14:
                                    itemList[index] = new Polygon1();	//三角形
                            break;
                            case 15:
                                    itemList[index] = new fillPolygon1();//填充三角形
                            break;
                            case 16:								//撤銷
                                    if(x==0){
                                            index = index - 2;
                                            repaint();
                                            x=x+2;
                                    }
                                    else{
                                            index = index -1;
                                            repaint();
                                            x = x + 1;
                                    }
                            break;
                            case 17:								//重畫
                                    index = index + 1;
                                    repaint();
                                    x = x - 1;
                            break;
                            case 18:
                                    itemList[index] = new Word();		//文字
                            break;
                    }
                    itemList[index].type = currentChoice;		//當前顏色
                    itemList[index].R = R;
                    itemList[index].G = G;
                    itemList[index].B = B;
                    itemList[index].stroke = stroke;			//當前粗細
            }

    /**選擇當前顏色程序段**/
            public void chooseColor(){
                    color = JColorChooser.showDialog(MiniDrawPad.this,"請選擇顏色",color);
                    R = color.getRed();
                    G = color.getGreen();
                    B = color.getBlue();						//得到顏色
                    itemList[index].R = R;
                    itemList[index].G = G;
                    itemList[index].B = B;						//保存為當前顏色

            }


    /**選擇當前線條粗細程序段**/
            public void setStroke(){
                    String input;								//從對話框得到畫筆粗細值
                    input = JOptionPane.showInputDialog("請鍵入畫筆粗細值(大于0且小于100)");
                    stroke = Float.parseFloat(input);
                    itemList[index].stroke = stroke;			//保存為當前畫筆粗細值
            }

    /**保存圖形文件程序段**/
            public void saveFile(){
                    JFileChooser fileChooser = new JFileChooser();
                    fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
                    int result = fileChooser.showSaveDialog(this);
                    if(result == JFileChooser.CANCEL_OPTION)
                            return;
                    File fileName = fileChooser.getSelectedFile();
                    fileName.canWrite();

                    if(fileName == null || fileName.getName().equals(""))
                            JOptionPane.showMessageDialog(fileChooser,"Invalid File Name",
                                                    "Invalid File Name",JOptionPane.ERROR_MESSAGE);
                    else{
                                    try{
                                                    fileName.delete();
                                                    FileOutputStream fos = new FileOutputStream(fileName);

                                                    output = new ObjectOutputStream(fos);
                                                    drawings record;

                                                    output.writeInt(index);

                                                    for(int i=0;i<index;i++){
                                                            drawings p = itemList[i];
                                                            output.writeObject(p);
                                                            output.flush();			//將所有圖形信息強制轉換成父類線性化存儲到文件中
                                                    }
                                                    output.close();
                                                    fos.close();
                            }
                                    catch(IOException ioe){
                                            ioe.printStackTrace();
                                    }
                    }
            }

    /**打開一個圖形文件程序段**/
            public void loadFile(){
                    JFileChooser fileChooser = new JFileChooser();
                    fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
                    int result = fileChooser.showOpenDialog(this);
                    if(result == JFileChooser.CANCEL_OPTION)
                            return;
                    File fileName = fileChooser.getSelectedFile();
                    fileName.canRead();

                    if(fileName == null || fileName.getName().equals(""))
                            JOptionPane.showMessageDialog(fileChooser,"Invalid File Name",
                                                    "Invalid File Name",JOptionPane.ERROR_MESSAGE);
                    else{
                                    try{

                                                    FileInputStream fis = new FileInputStream(fileName);

                                                    input = new ObjectInputStream(fis);
                                                    drawings inputRecord;

                                                    int countNumber = 0;
                                                    countNumber = input.readInt();

                                                    for(index = 0;index < countNumber;index++){
                                                            inputRecord = (drawings)input.readObject();
                                                            itemList[index] = inputRecord;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
奇米精品一区二区三区四区| 精品日韩成人av| 亚洲成av人片在线观看| 欧美一级片在线看| 国产一区二区在线免费观看| 国产精品成人在线观看| 欧美久久婷婷综合色| 国产中文字幕精品| 一区二区三区日本| 日韩精品一区二区三区中文精品| 国产大片一区二区| 亚洲成人午夜电影| 国产亚洲综合性久久久影院| 日本韩国欧美国产| 国产乱国产乱300精品| 亚洲一区在线观看视频| 国产女人18毛片水真多成人如厕| 欧美性大战久久| 国产精品99久久不卡二区| 国产精品久久久久桃色tv| 欧美日韩在线免费视频| 成人永久看片免费视频天堂| 亚洲另类中文字| 国产日韩三级在线| 3751色影院一区二区三区| www.av精品| 日本午夜一本久久久综合| 亚洲免费观看高清| 久久久久综合网| 欧美一区二区三区视频免费播放 | 日韩码欧中文字| 日韩一级免费一区| 在线亚洲一区观看| 午夜欧美电影在线观看| 欧美成人三级电影在线| 欧美在线一二三| 国产一区二区网址| 中文字幕第一区二区| 成人激情动漫在线观看| 中文字幕亚洲区| 制服丝袜中文字幕一区| 91黄色免费网站| 国产成人精品aa毛片| 免费成人美女在线观看.| 欧美美女直播网站| 欧美性猛交xxxx乱大交退制版| 91视频观看免费| 欧洲一区在线电影| 欧美羞羞免费网站| 欧美日韩一区在线| 欧美一区二区啪啪| 精品乱人伦小说| 日本一区二区免费在线 | 91视频在线观看| 色综合天天在线| 在线中文字幕一区| 欧美精品v日韩精品v韩国精品v| 欧美一区二区三区思思人| 欧美白人最猛性xxxxx69交| 久久女同互慰一区二区三区| 国产欧美一区二区精品性色超碰 | 国产91精品精华液一区二区三区| 丁香天五香天堂综合| 不卡av电影在线播放| 91麻豆.com| 欧美精品自拍偷拍| 久久久三级国产网站| 亚洲免费在线播放| 日韩国产精品久久久| 精品午夜久久福利影院| 国产精品123区| 欧美性受极品xxxx喷水| 日韩午夜激情免费电影| 国产亚洲精品aa午夜观看| 亚洲欧美一区二区三区国产精品 | 国产精品一区三区| 91老司机福利 在线| 91.麻豆视频| 国产精品私房写真福利视频| 一二三四区精品视频| 精品亚洲porn| 欧美最猛黑人xxxxx猛交| 欧美一区二区三区不卡| 欧美日韩国产区一| 亚洲成av人片在线观看| 成人午夜电影网站| 久久奇米777| 亚洲美女视频在线| 蜜桃av噜噜一区| 福利一区二区在线| 7777精品伊人久久久大香线蕉| 精品免费国产一区二区三区四区| 中文字幕一区二区三区不卡 | 亚洲精品欧美专区| 午夜欧美大尺度福利影院在线看| 国产一区二区美女| 欧美日韩精品欧美日韩精品一| 久久久久久久久久久99999| 亚洲最大色网站| 国产成人av电影在线观看| 欧美日韩日日夜夜| 国产精品毛片无遮挡高清| 亚洲国产成人porn| 91网站最新地址| 久久久美女艺术照精彩视频福利播放| 一级精品视频在线观看宜春院| 国产精品亚洲一区二区三区妖精| 欧美性一二三区| 最新热久久免费视频| 国产精品99久久久久久宅男| 日韩一区二区在线观看视频| 一区二区三区四区激情| 成人黄色在线视频| 久久久午夜精品| 日本不卡的三区四区五区| 在线国产亚洲欧美| 亚洲欧美一区二区三区久本道91 | 午夜精品久久久久影视| 色综合久久久久综合99| 久久综合色之久久综合| 午夜精品久久久久久久久久| 在线视频国内自拍亚洲视频| 自拍视频在线观看一区二区| 国产精品系列在线观看| 26uuu国产日韩综合| 青青草国产精品亚洲专区无| 欧美性做爰猛烈叫床潮| 一区二区三区中文字幕在线观看| 97久久超碰国产精品| 国产精品无圣光一区二区| 丁香五精品蜜臀久久久久99网站| 久久久久久亚洲综合影院红桃| 男人操女人的视频在线观看欧美 | 久久综合九色欧美综合狠狠 | 日韩1区2区3区| 欧美日韩成人在线| 香蕉成人伊视频在线观看| 欧美在线不卡视频| 一本色道久久综合亚洲aⅴ蜜桃| 欧美经典一区二区| 国产亚洲福利社区一区| 久久蜜桃av一区精品变态类天堂| 粉嫩久久99精品久久久久久夜| 亚洲一二三区在线观看| 久久久噜噜噜久久中文字幕色伊伊| 国产激情一区二区三区| 一区二区三区**美女毛片| 日韩欧美区一区二| 色综合久久天天| 国产主播一区二区| 国产在线播放一区二区三区| 亚洲v日本v欧美v久久精品| 日本不卡的三区四区五区| 欧美电影免费提供在线观看| 日本一区中文字幕| 精品少妇一区二区三区免费观看 | 久久综合九色欧美综合狠狠| 国产一区二区三区免费在线观看| 国产无一区二区| 色婷婷精品大在线视频| 亚洲高清视频的网址| 日韩欧美在线网站| 丁香一区二区三区| 亚洲精品视频免费看| 欧美精品免费视频| 国产麻豆一精品一av一免费| 国产精品国模大尺度视频| 欧洲日韩一区二区三区| 老司机精品视频导航| 国产精品国产精品国产专区不蜜 | 欧美日韩情趣电影| 精品一区二区三区香蕉蜜桃| 国产精品久久免费看| 欧美日韩国产一区| 国产一区二区调教| 洋洋av久久久久久久一区| 欧美本精品男人aⅴ天堂| av在线播放一区二区三区| 日韩和欧美一区二区三区| 国产欧美一区二区在线| 欧美天堂一区二区三区| 国产精品一区二区视频| 一区二区三区在线免费| 久久综合九色综合97婷婷女人| 91成人免费在线| 国产精品亚洲视频| 日韩精品一区第一页| 国产精品久久久久久久久免费樱桃 | 亚洲综合丝袜美腿| 精品盗摄一区二区三区| 色综合色狠狠综合色| 久久国产精品色| 亚洲最大的成人av| 国产精品网站在线| 日韩欧美的一区| 97精品电影院| 精品对白一区国产伦| 综合欧美亚洲日本| 欧美高清性hdvideosex| 午夜精品福利一区二区三区av|