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

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

?? minidrawpad.java

?? 這是一個用JAVA編寫的畫板程序
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
package drawingpanel;import java.awt.*;import java.awt.geom.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.*;public class MiniDrawPad extends JFrame     //主類,擴展了JFrame類,用來生成主界面 {  private ObjectInputStream  input;  private ObjectOutputStream output; //定義輸入輸出流,用來調用和保存圖像文件  private JButton choices[];         //按鈕數組,存放以下名稱的功能按鈕  private String names[]={          "New",          "Open",          "Save",    //這三個是基本操作按鈕,包括"新建"、"打開"、"保存"        /*接下來是我們的畫圖板上面有的基本的幾個繪圖單元按鈕*/          "Pencil",		//鉛筆畫,也就是用鼠標拖動著隨意繪圖          "Line",		//繪制直線          "Rect",		//繪制空心矩形          "fRect",		//繪制以指定顏色填充的實心矩形          "Oval",		//繪制空心橢圓          "fOval",		//繪制以指定顏色填充的實心橢圓          "Circle",		//繪制圓形          "fCircle",	//繪制以指定顏色填充的實心圓形          "RoundRect",	//繪制空心圓角矩形          "frRect",		//繪制以指定顏色填充的實心圓角矩形          "Rubber",		//橡皮擦,可用來擦去已經繪制好的圖案          "Color",		//選擇顏色按鈕,可用來選擇需要的顏色          "Stroke",		//選擇線條粗細的按鈕,輸入需要的數值可以實現繪圖線條粗細的變化          "Word"		//輸入文字按鈕,可以在繪圖板上實現文字輸入          };  private String styleNames[]={            " 宋體 " , " 隸書 " , " 華文彩云 " , " 仿宋_GB2312 " , " 華文行楷 " ,            " 方正舒體 " , " Times New Roman " , " Serif " , " Monospaced " ,            " SonsSerif " , " Garamond "            };            //可供選擇的字體項                          //當然這里的靈活的結構可以讓讀者自己隨意添加系統支持的字體  private Icon items[];  private String tipText[]={                  //這里是鼠標移動到相應按鈕上面上停留時給出的提示說明條                  //讀者可以參照上面的按鈕定義對照著理解                "Draw a new picture",                "Open a saved picture",                "Save current drawing",                "Draw at will",                "Draw a straight line",                "Draw a rectangle",                "Fill a ractangle",                "Draw an oval",                "Fill an oval",                "Draw a circle",                "Fill a circle",                "Draw a round rectangle",                "Fill a round rectangle",                "Erase at will",                "Choose current drawing color",                "Set current drawing stroke",                "Write down what u want"              };  JToolBar buttonPanel ;		       //定義按鈕面板  private JLabel statusBar;            //顯示鼠標狀態的提示條  private DrawPanel drawingArea;       //畫圖區域  private int width=800,height=550;    //定義畫圖區域初始大小  drawings[] itemList=new drawings[5000]; //用來存放基本圖形的數組  private int currentChoice=3;            //設置默認畫圖狀態為隨筆畫  int index=0;                         //當前已經繪制的圖形數目  private Color color=Color.black;     //當前畫筆顏色  int R,G,B;                           //用來存放當前色彩值  int f1,f2;                  //用來存放當前字體風格  String style1;              //用來存放當前字體  private float stroke=1.0f;  //設置畫筆粗細,默認值為1.0f  JCheckBox bold,italic;      //定義字體風格選擇框                              //bold為粗體,italic為斜體,二者可以同時使用  JComboBox styles;  public MiniDrawPad()        //構造函數  {   super("Drawing Pad");   JMenuBar bar=new JMenuBar();		//定義菜單條   JMenu fileMenu=new JMenu("File");   fileMenu.setMnemonic('F');//新建文件菜單條   JMenuItem newItem=new JMenuItem("New");   newItem.setMnemonic('N');   newItem.addActionListener(          new ActionListener(){                  public void actionPerformed(ActionEvent e)                  {                   newFile();		//如果被觸發,則調用新建文件函數段                  }          }   );   fileMenu.add(newItem);//保存文件菜單項   JMenuItem saveItem=new JMenuItem("Save");   saveItem.setMnemonic('S');   saveItem.addActionListener(          new ActionListener(){                  public void actionPerformed(ActionEvent e)                  {                   saveFile();		//如果被觸發,則調用保存文件函數段                  }          }   );   fileMenu.add(saveItem);//打開文件菜單項   JMenuItem loadItem=new JMenuItem("Load");   loadItem.setMnemonic('L');   loadItem.addActionListener(          new ActionListener(){                  public void actionPerformed(ActionEvent e)                  {                   loadFile();		//如果被觸發,則調用打開文件函數段                  }          }   );   fileMenu.add(loadItem);   fileMenu.addSeparator();//退出菜單項   JMenuItem exitItem=new JMenuItem("Exit");   exitItem.setMnemonic('X');   exitItem.addActionListener(          new ActionListener(){                  public void actionPerformed(ActionEvent e)                  {                   System.exit(0);	//如果被觸發,則退出畫圖板程序                  }          }   );   fileMenu.add(exitItem);   bar.add(fileMenu);//設置顏色菜單條   JMenu colorMenu=new JMenu("Color");   colorMenu.setMnemonic('C');//選擇顏色菜單項   JMenuItem colorItem=new JMenuItem("Choose Color");   colorItem.setMnemonic('O');   colorItem.addActionListener(           new ActionListener(){                   public void actionPerformed(ActionEvent e)                   {                    chooseColor();	//如果被觸發,則調用選擇顏色函數段                   }       }      );   colorMenu.add(colorItem);   bar.add(colorMenu);//設置線條粗細菜單條    JMenu strokeMenu=new JMenu("Stroke");    strokeMenu.setMnemonic('S');//設置線條粗細菜單項    JMenuItem strokeItem=new JMenuItem("Set Stroke");    strokeItem.setMnemonic('K');    strokeItem.addActionListener(           new ActionListener(){                   public void actionPerformed(ActionEvent e)                    {                     setStroke();                     }                   }              );           strokeMenu.add(strokeItem);           bar.add(strokeMenu);//設置提示菜單條    JMenu helpMenu=new JMenu("Help");    helpMenu.setMnemonic('H');//設置提示菜單項    JMenuItem aboutItem=new JMenuItem("About this Drawing Pad!");    aboutItem.setMnemonic('A');    aboutItem.addActionListener(           new ActionListener(){                   public void actionPerformed(ActionEvent e)                    {                     JOptionPane.showMessageDialog(null,                        "This is a mini drawing pad!\nCopyright (c) 2002 Tsinghua University ",                        " 畫圖板程序說明 ",                         JOptionPane.INFORMATION_MESSAGE );                     }                   }              );    helpMenu.add(aboutItem);    bar.add(helpMenu);    items=new ImageIcon[names.length];//創建各種基本圖形的按鈕    drawingArea=new DrawPanel();    choices=new JButton[names.length];    buttonPanel = new JToolBar( JToolBar.VERTICAL ) ;    buttonPanel = new JToolBar( JToolBar.HORIZONTAL) ;    ButtonHandler handler=new ButtonHandler();    ButtonHandler1 handler1=new ButtonHandler1();//導入我們需要的圖形圖標,這些圖標都存放在與源文件相同的目錄下面    for(int i=0;i<choices.length;i++)    {//items[i]=new ImageIcon( MiniDrawPad.class.getResource(names[i] +".gif"));                       //如果在jbuilder下運行本程序,則應該用這條語句導入圖片     items[i]=new ImageIcon(names[i] + ".gif");                   //默認的在jdk或者jcreator下運行,用此語句導入圖片     choices[i]=new JButton("",items[i]);     choices[i].setToolTipText(tipText[i]);     buttonPanel.add(choices[i]);    }//將動作偵聽器加入按鈕里面    for(int i=3;i<choices.length-3;i++)    {     choices[i].addActionListener(handler);    }    choices[0].addActionListener(          new ActionListener(){                  public void actionPerformed(ActionEvent e)                  {                   newFile();                  }          }     );    choices[1].addActionListener(          new ActionListener(){                  public void actionPerformed(ActionEvent e)                  {                   loadFile();                  }          }     );    choices[2].addActionListener(          new ActionListener(){                  public void actionPerformed(ActionEvent e)                  {                   saveFile();                  }          }     );    choices[choices.length-3].addActionListener(handler1);    choices[choices.length-2].addActionListener(handler1);    choices[choices.length-1].addActionListener(handler1);//字體風格選擇    styles=new JComboBox(styleNames);    styles.setMaximumRowCount(8);    styles.addItemListener(            new ItemListener(){                    public void itemStateChanged(ItemEvent e)                    {                      style1=styleNames[styles.getSelectedIndex()];                    }               }            );//字體選擇    bold=new JCheckBox("BOLD");    italic=new JCheckBox("ITALIC");    checkBoxHandler cHandler=new checkBoxHandler();    bold.addItemListener(cHandler);    italic.addItemListener(cHandler);    JPanel wordPanel=new JPanel();    buttonPanel.add(bold);    buttonPanel.add(italic);    buttonPanel.add(styles);    styles.setMinimumSize(  new Dimension ( 50, 20 ) );    styles.setMaximumSize(new Dimension ( 100, 20 ) );    Container c=getContentPane();    super.setJMenuBar( bar );    c.add(buttonPanel,BorderLayout.NORTH);    c.add(drawingArea,BorderLayout.CENTER);    statusBar=new JLabel();    c.add(statusBar,BorderLayout.SOUTH);    statusBar.setText("     Welcome To The Little Drawing Pad!!!  :)");    createNewItem();    setSize(width,height);    show();  }//按鈕偵聽器ButtonHanler類,內部類,用來偵聽基本按鈕的操作public class ButtonHandler implements ActionListener {  public void actionPerformed(ActionEvent e)  {   for(int j=3;j<choices.length-3;j++)   {      if(e.getSource()==choices[j])         {currentChoice=j;          createNewItem();          repaint();}        }    } }//按鈕偵聽器ButtonHanler1類,用來偵聽顏色選擇、畫筆粗細設置、文字輸入按鈕的操作public class ButtonHandler1 implements ActionListener {  public void actionPerformed(ActionEvent e)  {    if(e.getSource()==choices[choices.length-3])         {chooseColor();}    if(e.getSource()==choices[choices.length-2])         {setStroke();}    if(e.getSource()==choices[choices.length-1])         {JOptionPane.showMessageDialog(null,             "Please hit the drawing pad to choose the word input position",             "Hint",JOptionPane.INFORMATION_MESSAGE );          currentChoice=14;          createNewItem();          repaint();          }    } }//鼠標事件mouseA類,繼承了MouseAdapter,用來完成鼠標相應事件操作 class mouseA extends MouseAdapter {   public void mousePressed(MouseEvent e)    {statusBar.setText("     Mouse Pressed @:[" + e.getX() +                              ", " + e.getY() + "]");//設置狀態提示     itemList[index].x1=itemList[index].x2=e.getX();     itemList[index].y1=itemList[index].y2=e.getY();    //如果當前選擇的圖形是隨筆畫或者橡皮擦,則進行下面的操作    if(currentChoice==3||currentChoice==13)    {     itemList[index].x1=itemList[index].x2=e.getX();     itemList[index].y1=itemList[index].y2=e.getY();     index++;     createNewItem();     }    //如果當前選擇的圖形式文字輸入,則進行下面操作     if(currentChoice==14)     {      itemList[index].x1=e.getX();      itemList[index].y1=e.getY();      String input;      input=JOptionPane.showInputDialog(          "Please input the text you want!");      itemList[index].s1=input;      itemList[index].x2=f1;      itemList[index].y2=f2;      itemList[index].s2=style1;      index++;      currentChoice=14;      createNewItem();      drawingArea.repaint();      }    }   public void mouseReleased(MouseEvent e)    {statusBar.setText("     Mouse Released @:[" + e.getX() +                              ", " + e.getY() + "]");    if(currentChoice==3||currentChoice==13)    {     itemList[index].x1=e.getX();     itemList[index].y1=e.getY();    }     itemList[index].x2=e.getX();     itemList[index].y2=e.getY();     repaint();     index++;     createNewItem();    }   public void mouseEntered(MouseEvent e)   {           statusBar.setText("     Mouse Entered @:[" + e.getX() +                              ", " + e.getY() + "]");           }   public void mouseExited(MouseEvent e)   {           statusBar.setText("     Mouse Exited @:[" + e.getX() +                              ", " + e.getY() + "]");           }  }//鼠標事件mouseB類繼承了MouseMotionAdapter,用來完成鼠標拖動和鼠標移動時的相應操作 class mouseB extends MouseMotionAdapter {  public void mouseDragged(MouseEvent e)  {statusBar.setText("     Mouse Dragged @:[" + e.getX() +                              ", " + e.getY() + "]");   if(currentChoice==3||currentChoice==13)   {    itemList[index-1].x1=itemList[index].x2=itemList[index].x1=e.getX();

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲综合色噜噜狠狠| 国产a精品视频| 国产一区二区0| 欧美影院精品一区| 国产日韩精品一区二区浪潮av| 亚洲欧洲日韩女同| 青青草原综合久久大伊人精品优势| 成人听书哪个软件好| 精品动漫一区二区三区在线观看| 亚洲激情欧美激情| 不卡的电影网站| 午夜亚洲福利老司机| 丁香激情综合国产| 2023国产一二三区日本精品2022| 亚洲成人www| 91女厕偷拍女厕偷拍高清| 久久精品亚洲精品国产欧美kt∨ | 91影院在线观看| 欧美精品一区二区三区四区| 午夜在线电影亚洲一区| 91在线视频观看| 中文字幕一区二区三区精华液 | 亚洲视频在线一区| 岛国一区二区在线观看| 欧美精品一区二区精品网| 日韩电影在线看| 欧美日韩国产欧美日美国产精品| 1区2区3区欧美| 成人av免费在线观看| 国产欧美视频在线观看| 国产呦萝稀缺另类资源| 欧美成人精精品一区二区频| 日本免费新一区视频| 91精品在线观看入口| 亚洲成人午夜影院| 制服丝袜成人动漫| 久久91精品国产91久久小草| 日韩欧美www| 国产又粗又猛又爽又黄91精品| 亚洲精品在线三区| 国产suv精品一区二区三区| 久久久国产精品麻豆| 国产999精品久久久久久| 欧美国产精品专区| 不卡视频在线观看| 亚洲在线视频免费观看| 欧美日韩国产天堂| 久久 天天综合| 国产欧美一区二区三区网站| 成人午夜电影网站| 亚洲自拍另类综合| 日韩免费在线观看| 成人影视亚洲图片在线| 亚洲另类春色校园小说| 欧美男同性恋视频网站| 国内精品写真在线观看| 中文字幕精品—区二区四季| 91麻豆蜜桃一区二区三区| 亚洲综合视频网| 精品少妇一区二区三区| jlzzjlzz亚洲日本少妇| 亚洲一区二区高清| 26uuu欧美日本| 91蜜桃视频在线| 免费观看在线综合| 国产精品久久久久毛片软件| 91精彩视频在线| 国产一区二区中文字幕| 中文字幕一区日韩精品欧美| 777xxx欧美| 99精品欧美一区二区三区综合在线| 亚洲午夜视频在线| 久久久噜噜噜久噜久久综合| 在线免费一区三区| 精品制服美女久久| 亚洲一区在线看| 久久综合久久99| 欧美女孩性生活视频| 粉嫩av一区二区三区粉嫩| 亚洲影院理伦片| 国产精品美女久久久久久久久久久 | 日韩免费高清电影| 99re视频这里只有精品| 精久久久久久久久久久| 中文字幕佐山爱一区二区免费| 91国模大尺度私拍在线视频| 国内精品久久久久影院色| 亚洲国产精品麻豆| 中文字幕日韩av资源站| 欧美电视剧免费观看| 欧美图片一区二区三区| 9i看片成人免费高清| 久久99热这里只有精品| 婷婷综合另类小说色区| 国模大尺度一区二区三区| 亚洲男人的天堂在线aⅴ视频| 欧美成人女星排名| 91精品国产一区二区三区香蕉| 99国产精品视频免费观看| 久久电影国产免费久久电影| 亚洲综合激情网| 亚洲欧美另类小说视频| 欧美激情综合五月色丁香| 精品捆绑美女sm三区| 日韩欧美电影一区| 日韩一级精品视频在线观看| 欧美性猛交xxxx乱大交退制版 | 免费在线欧美视频| 亚洲成人综合在线| 亚洲一区二区三区四区的| 最新日韩在线视频| 亚洲日本护士毛茸茸| 亚洲手机成人高清视频| 中文字幕欧美一| 亚洲欧美电影院| 一区二区三区91| 亚洲高清免费一级二级三级| 亚洲国产成人av好男人在线观看| 一区二区在线看| 亚洲一区视频在线观看视频| 亚洲狠狠爱一区二区三区| 伊人性伊人情综合网| 亚洲国产日韩精品| 日韩精品午夜视频| 蜜臀精品一区二区三区在线观看| 奇米亚洲午夜久久精品| 黄网站免费久久| 国产露脸91国语对白| 盗摄精品av一区二区三区| 成人性生交大片| 一本到三区不卡视频| 欧美视频三区在线播放| 91精品国产一区二区三区蜜臀| 日韩欧美在线影院| 久久精品欧美一区二区三区麻豆| 国产精品视频在线看| 亚洲日本在线观看| 午夜激情一区二区三区| 麻豆精品在线视频| 懂色av一区二区三区免费观看| 波多野结衣在线一区| 欧美中文字幕一区| 欧美一区二区私人影院日本| 欧美精品一区二区三区视频| 国产精品高潮久久久久无| 亚洲国产成人va在线观看天堂 | 亚洲综合丝袜美腿| 久久精品99久久久| 99国产精品久久久久久久久久久| 欧美日韩一区高清| 久久久亚洲欧洲日产国码αv| 国产精品系列在线| 午夜精品久久久久| 夫妻av一区二区| 日本久久一区二区| 精品国产成人系列| 一区二区三区四区视频精品免费| 美腿丝袜一区二区三区| 91在线免费看| 性久久久久久久| 国产aⅴ综合色| 7799精品视频| 一区在线播放视频| 久久99精品久久久久久国产越南 | 久草在线在线精品观看| 91论坛在线播放| 久久综合色播五月| 视频一区视频二区在线观看| 成人精品小蝌蚪| 精品国产乱码久久久久久浪潮| 亚洲乱码日产精品bd| 国产麻豆精品视频| 日韩一二在线观看| 一区二区三区欧美日| 成人的网站免费观看| 精品国产欧美一区二区| 视频一区二区三区中文字幕| 成人午夜又粗又硬又大| 精品噜噜噜噜久久久久久久久试看| 亚洲国产毛片aaaaa无费看| 成人高清视频免费观看| 精品欧美久久久| 天堂午夜影视日韩欧美一区二区| 97久久超碰国产精品| 国产偷国产偷精品高清尤物| 免费在线观看不卡| 欧美一级高清片| 免费高清在线一区| 欧美麻豆精品久久久久久| 尤物视频一区二区| 色香蕉成人二区免费| 亚洲色图欧洲色图婷婷| 波多野结衣亚洲| 国产精品福利一区| 99久久婷婷国产| 亚洲欧洲av在线| 91在线国内视频| 亚洲欧美日韩精品久久久久| 日韩欧美国产综合| 激情伊人五月天久久综合|