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

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

?? minidrawpad.java~25~

?? 自制小畫板!為JBUILDER版本。相當具有參考價值
?? JAVA~25~
?? 第 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一区二区三区免费野_久草精品视频
国产一区二区日韩精品| 亚洲一区二区三区四区在线免费观看 | 欧美日韩一区二区三区在线| 国产一区亚洲一区| 极品少妇xxxx精品少妇偷拍| 日本中文字幕一区二区有限公司| 亚洲成人自拍网| 日韩主播视频在线| 免费在线成人网| 奇米影视一区二区三区| 免费观看在线色综合| 人人精品人人爱| 日韩精品电影一区亚洲| 日韩精品成人一区二区在线| 久久se这里有精品| 国产美女在线观看一区| 国产91精品在线观看| 国产+成+人+亚洲欧洲自线| 成人毛片在线观看| 色94色欧美sute亚洲13| 欧美日本乱大交xxxxx| 欧美精品1区2区3区| www久久久久| 国产精品久久久久久久久晋中| 中文字幕在线观看一区二区| 亚洲一区二区三区自拍| 久久99精品久久久久| 成人国产在线观看| 欧美亚洲动漫另类| 久久人人爽爽爽人久久久| 国产精品美女久久久久久久久 | 欧美日韩一区二区三区四区五区| 欧美一区二区高清| 欧美国产日产图区| 亚洲va欧美va人人爽午夜| 精久久久久久久久久久| 色综合天天综合| 欧美不卡激情三级在线观看| 日韩码欧中文字| 青青草97国产精品免费观看 | 91美女在线观看| 欧美日韩免费观看一区二区三区| 日韩精品中文字幕在线一区| 亚洲视频免费在线观看| 美女任你摸久久| 色偷偷一区二区三区| 欧美mv日韩mv亚洲| 亚洲一区二区欧美激情| 亚洲女女做受ⅹxx高潮| 国产美女精品一区二区三区| 欧美日韩中文精品| 国产精品色哟哟网站| 日韩激情一二三区| 成人激情午夜影院| 欧美一区二区三区四区高清| 综合自拍亚洲综合图不卡区| 五月天丁香久久| 99免费精品视频| 久久亚洲一区二区三区明星换脸| 一区二区三区欧美激情| 国产在线一区观看| 91精品国产一区二区三区| 一区二区三区中文字幕电影| 国产成a人亚洲精品| 日韩美女在线视频| 婷婷夜色潮精品综合在线| 91网上在线视频| 日韩理论片在线| 91玉足脚交白嫩脚丫在线播放| 国产网站一区二区三区| 精品亚洲aⅴ乱码一区二区三区| 欧美日韩不卡一区| 亚洲精品v日韩精品| eeuss鲁一区二区三区| 国产日韩欧美高清| 国产一区二区在线视频| 欧美电影免费观看完整版 | 日韩情涩欧美日韩视频| 亚洲成人av中文| 欧美三级在线播放| 亚洲高清不卡在线观看| 欧美乱妇一区二区三区不卡视频| 日韩综合一区二区| 欧美一区二区三区四区久久| 日韩精品乱码av一区二区| 56国语精品自产拍在线观看| 亚洲成人av中文| 欧美一区二区福利视频| 美女免费视频一区| 精品国产乱码久久久久久免费| 久久成人免费网| 久久免费精品国产久精品久久久久| 蜜桃91丨九色丨蝌蚪91桃色| 久久只精品国产| 国产成人免费在线观看| 中文字幕在线一区二区三区| 一本一道久久a久久精品 | 亚洲精品一区二区三区蜜桃下载 | 欧美高清视频在线高清观看mv色露露十八| 亚洲精品成人精品456| 欧美肥妇free| 高清不卡一区二区| 亚洲色图丝袜美腿| 欧美电影在哪看比较好| 国产专区综合网| 亚洲女同一区二区| 欧美疯狂性受xxxxx喷水图片| 久久精品av麻豆的观看方式| 国产精品入口麻豆九色| 欧美三级电影在线观看| 国产一区不卡在线| 中文字幕一区二区不卡| 欧美日韩色一区| 国产黄色91视频| 亚洲国产精品久久久久婷婷884 | 亚洲素人一区二区| 91精品国产91久久久久久一区二区| 激情久久久久久久久久久久久久久久 | 在线观看不卡视频| 国产一区在线精品| 亚洲国产精品一区二区www| 中文字幕成人av| 欧美一级xxx| 91香蕉视频污| 久久超碰97中文字幕| 亚洲欧美视频在线观看视频| 日韩一区二区三区在线观看| 盗摄精品av一区二区三区| 亚洲成在人线在线播放| 国产精品三级在线观看| 精品国产乱码久久久久久1区2区 | 中文字幕av一区二区三区高 | 日本一区二区三区国色天香| 欧美亚洲一区二区在线| 国产69精品久久久久毛片| 午夜久久久久久久久| 亚洲天堂av一区| 久久久国产精华| 日韩一区二区三区电影在线观看 | 久久久久久久久久电影| 7777精品久久久大香线蕉| 一本大道久久a久久综合婷婷| 国产一区二区按摩在线观看| 免费成人在线视频观看| 日韩在线卡一卡二| 香蕉成人伊视频在线观看| 一区二区三区四区乱视频| 中文字幕二三区不卡| 中文字幕欧美激情一区| 国产精品私人影院| 国产精品日韩成人| 国产精品美女视频| 亚洲欧美在线观看| 亚洲人成人一区二区在线观看| 国产欧美日韩在线视频| 久久久久久久久久看片| 国产午夜精品久久久久久久 | 亚洲人吸女人奶水| 亚洲欧美日韩一区| 亚洲欧美日韩国产另类专区| 亚洲视频中文字幕| 亚洲福利视频一区二区| 日精品一区二区| 国内精品伊人久久久久av一坑| 狠狠久久亚洲欧美| 成人精品一区二区三区中文字幕 | 亚洲最新在线观看| 午夜欧美在线一二页| 久久草av在线| 成人伦理片在线| 欧美日韩专区在线| 欧美大胆人体bbbb| 国产精品美日韩| 亚洲成人中文在线| 激情图片小说一区| 成人美女视频在线观看| 精品视频一区二区不卡| 精品少妇一区二区三区免费观看 | 欧美精品一区二区三区蜜桃| 精品国产乱码久久久久久蜜臀| 国产欧美一区二区在线| 一区二区三区中文字幕精品精品 | 久久综合色8888| 亚洲日本乱码在线观看| 亚洲观看高清完整版在线观看| 久久99热狠狠色一区二区| 成人激情小说网站| 日韩视频123| 最新久久zyz资源站| 日韩一区精品视频| 99精品视频免费在线观看| 欧美精品国产精品| 亚洲欧洲成人av每日更新| 老司机精品视频导航| a亚洲天堂av| 精品国产污污免费网站入口| 亚洲免费在线看| 韩国一区二区三区| 欧美高清视频www夜色资源网| 国产精品无圣光一区二区|