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

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

?? minidrawpad.java~32~

?? 自制小畫板!為JBUILDER版本。相當具有參考價值
?? JAVA~32~
?? 第 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();

    }
    /**
     * 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 == 16)						//進行相應的游標設置
                            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:
                                    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;
                                                    }
                                                    createNewItem();
                                                    input.close();

                                                    repaint();

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久久国产精品免费蜜臀| 国产欧美精品区一区二区三区| 欧美mv日韩mv| 亚洲欧美在线视频观看| 久久se精品一区精品二区| 91在线免费看| 久久影视一区二区| 偷拍自拍另类欧美| 96av麻豆蜜桃一区二区| 国产亚洲欧美一级| 麻豆91小视频| 欧美精品一卡二卡| 亚洲午夜久久久久久久久久久| 国产99久久久国产精品潘金| 日韩精品在线一区二区| 一区二区不卡在线视频 午夜欧美不卡在| 精品午夜一区二区三区在线观看| 欧美综合色免费| 亚洲视频1区2区| 成人av综合在线| 国产午夜精品福利| 国产一区二区毛片| 精品久久久久久久久久久院品网| 亚洲午夜久久久久久久久电影院 | 成人晚上爱看视频| 精品卡一卡二卡三卡四在线| 日欧美一区二区| 欧美日本精品一区二区三区| 亚洲国产精品久久一线不卡| 色国产精品一区在线观看| 中文字幕欧美激情一区| 国产高清不卡一区二区| 久久精品无码一区二区三区| 国产精品一区二区视频| 国产片一区二区| 懂色av一区二区三区蜜臀| 国产亚洲一区字幕| av在线播放成人| ...av二区三区久久精品| 成人av动漫在线| 亚洲免费在线观看视频| 色婷婷av一区二区三区大白胸| 亚洲另类在线视频| 欧美日韩日日夜夜| 日韩高清在线不卡| 精品久久人人做人人爰| 国产一区二区看久久| 国产精品毛片久久久久久久| 色综合久久中文字幕| 亚洲综合图片区| 欧美一区日韩一区| 紧缚捆绑精品一区二区| 欧美国产激情一区二区三区蜜月| www.日韩精品| 亚洲成人动漫在线免费观看| 91精品国产综合久久久蜜臀图片 | 高清国产一区二区| 亚洲视频综合在线| 欧美日韩大陆在线| 狠狠久久亚洲欧美| 日韩一区欧美一区| 欧美一级日韩免费不卡| 国产91精品精华液一区二区三区| 亚洲欧美日韩综合aⅴ视频| 91精品国产入口| 成人综合激情网| 亚洲国产欧美日韩另类综合| 欧美xfplay| 在线观看日韩一区| 国产一区二区三区高清播放| 日韩理论在线观看| 日韩一二在线观看| 91看片淫黄大片一级| 美女视频黄频大全不卡视频在线播放| 精品国产伦一区二区三区观看方式| 成a人片国产精品| 日韩电影在线看| 亚洲乱码中文字幕| 欧美精品一区视频| 欧美日韩在线三区| 成人sese在线| 国内久久精品视频| 亚洲国产欧美在线| 国产精品福利一区二区三区| 欧美一级夜夜爽| 欧美亚洲国产一区二区三区va | 欧美成人女星排名| 欧美在线你懂的| 粉嫩一区二区三区性色av| 午夜一区二区三区视频| 精品免费国产一区二区三区四区| 在线精品亚洲一区二区不卡| 国产精品自产自拍| 美女mm1313爽爽久久久蜜臀| 一个色综合av| 国产精品二三区| 久久久不卡网国产精品一区| 欧美日韩欧美一区二区| gogogo免费视频观看亚洲一| 久久99久久99精品免视看婷婷| 亚洲一区在线电影| 亚洲色图欧美在线| 国产精品情趣视频| 国产亚洲欧美一区在线观看| 日韩你懂的在线播放| 欧美日本视频在线| 欧美日韩成人激情| 一本久久精品一区二区| 99热精品一区二区| av男人天堂一区| av亚洲精华国产精华精华| 国产suv精品一区二区6| 韩日av一区二区| 韩国女主播成人在线观看| 日韩av电影天堂| 日韩av电影免费观看高清完整版 | 欧美精三区欧美精三区| 色天天综合色天天久久| 91啪九色porn原创视频在线观看| 成人av高清在线| 色综合久久久久久久| 色欲综合视频天天天| 在线中文字幕不卡| 欧美在线观看一区| 欧美日韩久久久| 91精品欧美综合在线观看最新| 91精品在线观看入口| 成人理论电影网| 国产日韩欧美激情| 日本一区免费视频| 亚洲女同ⅹxx女同tv| 夜夜嗨av一区二区三区中文字幕| 亚洲国产视频直播| 精品一区二区免费| 国产成人av一区二区三区在线| 成人国产免费视频| 欧美中文字幕亚洲一区二区va在线| 欧美人牲a欧美精品| 精品国内二区三区| 欧美国产97人人爽人人喊| 一区二区三区产品免费精品久久75| 亚洲不卡av一区二区三区| 麻豆91在线看| www.亚洲国产| 欧美一级在线视频| 亚洲国产精品成人久久综合一区| 亚洲免费在线视频一区 二区| 日韩电影在线一区二区三区| 精品一区二区免费在线观看| 不卡大黄网站免费看| 欧美日韩不卡一区| 国产日本欧洲亚洲| 亚洲高清在线精品| 国内一区二区在线| 欧美自拍偷拍一区| 久久蜜臀精品av| 一区二区三区四区在线免费观看 | 欧美日韩国产精品自在自线| 日韩一级片在线观看| 中文字幕日韩精品一区| 蜜臀久久99精品久久久久宅男 | 国内成+人亚洲+欧美+综合在线| 东方欧美亚洲色图在线| 欧美一区二区视频在线观看| 国产欧美日本一区视频| 三级不卡在线观看| 色综合中文字幕国产 | 91免费在线看| 欧美成人女星排名| 亚洲第一激情av| 成人av免费在线观看| 日韩欧美精品在线视频| 亚洲综合在线视频| 成人午夜私人影院| 欧美成人午夜电影| 天天操天天色综合| 色婷婷国产精品久久包臀| 国产天堂亚洲国产碰碰| 美女网站在线免费欧美精品| 欧美亚日韩国产aⅴ精品中极品| 欧美激情综合五月色丁香| 久久99国产精品免费| 911精品国产一区二区在线| 亚洲欧美日韩久久精品| 波多野结衣在线aⅴ中文字幕不卡 波多野结衣在线一区 | 午夜日韩在线观看| 一本色道亚洲精品aⅴ| 国产精品看片你懂得| 国产成人综合精品三级| 精品国产成人系列| 久久99在线观看| 日韩女优电影在线观看| 日韩激情中文字幕| 欧美另类久久久品| 亚洲高清三级视频| 欧美午夜理伦三级在线观看| 亚洲一区二区三区中文字幕| 欧洲一区二区三区在线| 亚洲美女视频在线| 在线免费不卡电影|