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

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

?? minidrawpad.java~28~

?? 自制小畫板!為JBUILDER版本。相當具有參考價值
?? JAVA~28~
?? 第 1 頁 / 共 4 頁
字號:
        jToolBar.add(Stroke);
        jToolBar.add(Word);
        jToolBar.add(blod);
        jToolBar.add(italic);
        jToolBar.add(style);
        jToolBar.add(size);
        contentPane.add(jToolBar, java.awt.BorderLayout.NORTH);
        jMenuFile.add(jMenuFileNew);
        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+"個圖...");
                                                                                                            //設置狀態(tài)提示
                            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();					//創(chuàng)建新圖
                            }

    /**如果當前選擇的圖形式文字輸入,則進行下面操作**/
                            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();					//創(chuàng)建新圖
                                    drawingArea.repaint();				//圖形式文字輸入
                            }
                    }
    /**鼠標釋放**/
                    public void mouseReleased(MouseEvent e){	//定義鼠標釋放
                            statusBar.setText("當前坐標在:["+e.getX()+","+e.getY()+"]"+"已經畫了"+index+"個圖...");
                                                                                                            //設置狀態(tài)提示
                            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();						//創(chuàng)建新圖
                    }
    /**鼠標進入**/
                    public void mouseEntered(MouseEvent e){		//定義鼠標進入
                            statusBar.setText("當前坐標在:"+e.getX()+","+e.getY()+"]"+"已經畫了"+index+"個圖...");
                    }											//設置狀態(tài)提示
    /**鼠標退出**/
                    public void mouseExited(MouseEvent e){		////定義鼠標退出
                            statusBar.setText("當前坐標在:"+e.getX()+","+e.getY()+"]"+"已經畫了"+index+"個圖...");
                    }											//設置狀態(tài)提示
    /**鼠標右鍵**/
                    public void mouseClicked(MouseEvent e){		//定義鼠標右鍵
                            statusBar.setText("當前坐標在:"+e.getX()+","+e.getY()+"]"+"已經畫了"+index+"個圖...");
                            int mods=e.getModifiers();				//設置狀態(tài)提示
                            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+"個圖...");
                                                                                                            //設置狀態(tài)提示
                            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();					//創(chuàng)建新圖
                            }
                            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+"個圖...");
                    }											//設置狀態(tài)提示
            }

    /**選擇字體風格時候用到的時間偵聽器類,加入到字體風格的選擇框中**/
                                                                                                            //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;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91久久精品国产91性色tv| 精品欧美乱码久久久久久1区2区| bt7086福利一区国产| 久久99国产精品久久99果冻传媒| 亚洲一区二区三区四区在线免费观看| 久久精品夜夜夜夜久久| 日韩精品中文字幕在线一区| 欧美乱妇20p| 婷婷六月综合网| 欧美一区二区三区人| 天涯成人国产亚洲精品一区av| 久久久久久黄色| 日韩一区二区在线观看| xfplay精品久久| 成人免费在线视频| 日韩国产精品久久| 国产在线不卡一区| 日本黄色一区二区| 欧美不卡在线视频| 亚洲日本va在线观看| 一区二区三区在线不卡| 欧美激情一区二区| 亚洲国产精华液网站w| 久久综合久久久久88| 91精品在线麻豆| 51精品久久久久久久蜜臀| 欧美日韩国产123区| 欧美在线三级电影| 欧美日韩国产综合一区二区| 色悠悠亚洲一区二区| 色老头久久综合| 欧美视频第二页| 欧美日韩大陆在线| 欧美一区二区国产| 2020国产精品久久精品美国| 精品国产伦一区二区三区免费| 久久久亚洲午夜电影| 国产嫩草影院久久久久| 中文字幕一区av| 一个色综合网站| 日本午夜精品一区二区三区电影 | 欧美高清dvd| 日韩女优视频免费观看| 久久久久久久久久久久电影 | 蜜桃视频一区二区三区在线观看| 一本一道综合狠狠老| 欧美色网站导航| 国产精品美女久久久久久2018| 一区二区欧美国产| 国产精品系列在线观看| 欧美高清精品3d| 亚洲一区二区偷拍精品| 成人高清视频在线观看| 欧美一区二区三区公司| 亚洲欧美日韩中文播放| 国产高清不卡二三区| 91精品麻豆日日躁夜夜躁| 中文字幕在线一区| 黄色小说综合网站| 91精品国产综合久久精品app| 中文字幕精品一区| 韩国欧美国产1区| 日韩欧美不卡在线观看视频| 亚洲一区精品在线| 色婷婷国产精品| 国产精品成人午夜| 国产精品一区二区久久不卡| 精品久久久影院| 日韩电影一区二区三区| 欧美三级欧美一级| 亚洲一区二区不卡免费| 91在线高清观看| 亚洲免费av高清| 色美美综合视频| 一区二区三区毛片| 欧美午夜电影网| 午夜a成v人精品| 欧美伦理视频网站| 免费欧美日韩国产三级电影| 日韩一区二区三区在线视频| 青青草精品视频| 精品国产一区二区精华| 狠狠色丁香婷综合久久| 久久综合一区二区| 99久久精品免费观看| 亚洲精品综合在线| 欧美日韩黄色影视| 国产福利一区二区三区视频在线| 亚洲欧洲综合另类| 日韩精品一区二| 91久久人澡人人添人人爽欧美| 青青草一区二区三区| 亚洲一区在线看| 国产成人久久精品77777最新版本| 99re在线视频这里只有精品| 婷婷久久综合九色综合伊人色| 久久久久国产精品免费免费搜索| 欧美性生活久久| 国产91精品一区二区麻豆亚洲| 91精品国产入口| 图片区小说区国产精品视频| 国产精品1024| 欧美激情在线免费观看| 高清国产一区二区| 首页国产欧美日韩丝袜| 中文字幕乱码一区二区免费| 欧美一区二区三区免费观看视频 | 青青草国产精品97视觉盛宴| 中文字幕视频一区| 亚洲精品在线观看视频| 欧美三级一区二区| 91麻豆精品在线观看| 国产成人精品免费网站| 捆绑调教美女网站视频一区| 亚洲国产aⅴ成人精品无吗| 中文字幕中文字幕在线一区| 久久久久久久久久久久久久久99| 日韩视频永久免费| 69堂国产成人免费视频| 在线精品视频免费观看| 在线影院国内精品| 日韩三级在线观看| 欧美三级韩国三级日本一级| 国产老女人精品毛片久久| 国产午夜精品一区二区三区视频| av资源网一区| 亚洲第四色夜色| 制服丝袜一区二区三区| 久久精品国产亚洲a| 欧美激情综合五月色丁香| 色综合色综合色综合色综合色综合| 一二三区精品视频| 国产精品色哟哟| 欧美精品一区二区三区视频| 不卡免费追剧大全电视剧网站| 午夜a成v人精品| 精品国产乱码久久久久久久久| 不卡的看片网站| 日本中文一区二区三区| 国产精品午夜在线| 久久久久久久久久久久电影| 北条麻妃一区二区三区| 中文字幕一区二区不卡| 欧美做爰猛烈大尺度电影无法无天| 亚洲一区中文日韩| 91精品国产综合久久久久| 国产盗摄女厕一区二区三区| 久久久久久久免费视频了| 欧美性大战久久| 美脚の诱脚舐め脚责91| 亚洲一区二区五区| 国产亚洲一二三区| 欧美不卡一区二区三区四区| av日韩在线网站| 欧美亚洲综合一区| 精品国产乱码久久久久久久| 国产精品久久久久三级| 午夜av电影一区| 国产一区二区三区久久久| 色呦呦一区二区三区| 欧美不卡视频一区| 亚洲自拍都市欧美小说| 激情小说欧美图片| 欧美亚洲动漫精品| 中文字幕精品一区二区三区精品| 亚洲综合激情网| 高清在线不卡av| 欧美videos大乳护士334| 亚洲精品欧美激情| 国产精品羞羞答答xxdd | 亚洲福中文字幕伊人影院| 国产成人精品免费网站| 欧美一区在线视频| 一区二区成人在线观看| 亚洲成人av电影在线| 在线亚洲免费视频| 欧美午夜精品理论片a级按摩| 欧美一区二区三区小说| 国产亚洲精品bt天堂精选| 一区二区三区国产精品| 久久99精品国产麻豆不卡| 色综合婷婷久久| 久久蜜桃av一区精品变态类天堂| 最新中文字幕一区二区三区| 日韩综合在线视频| 在线观看欧美日本| 精品国产凹凸成av人网站| 欧美激情综合在线| 亚洲精品第一国产综合野| 亚洲自拍偷拍综合| 久久激情五月激情| 精品一区二区日韩| 国产老肥熟一区二区三区| 91网站最新网址| 欧美日韩亚洲不卡| 久久这里都是精品| 亚洲一区二区三区美女| 国产福利一区二区三区视频| 欧美v国产在线一区二区三区| 日日摸夜夜添夜夜添国产精品 |