版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、目錄1 引 言11.1課程設計選題11.2課程設計的目的11.3本選題的設計背景12 需求分析12.1 功能需求12.2 軟件開發(fā)運行環(huán)境13 總體設計23.1 軟件結構設計23.1.1 結構設計23.2軟件功能模塊及主要類設計23.2.1功能描述23.2.2總體結構圖33.2.3主要類設計34 詳細設計與實現44.1 主界面44.1.1主界面功能設計44.1.2主界面設計44.1.3主界面主要代碼54.2 菜單欄64.2.1菜單欄功能設計64.2.2菜單欄界面設計64.2.3菜單欄主要代碼94.3 工具欄104.3.1工具欄功能設計104.3.2工具欄界面設計104.3.3工具欄主要代碼10
2、4.4 畫圖區(qū)114.4.1畫圖區(qū)功能設計114.4.2畫圖區(qū)界面設計124.4.3畫圖區(qū)主要代碼124.5 狀態(tài)欄124.5.1狀態(tài)欄功能設計124.5.2狀態(tài)欄設計124.5.3狀態(tài)欄代碼125 小結和展望13參 考 文 獻14附 錄15使用說明書15源程序清單1529 / 31文檔可自由編輯打印1 引 言1.1課程設計選題畫圖板軟件開發(fā)和設計1.2課程設計的目的鞏固和加深以Java 語言為基礎的面向對象編程技術理論知識的理解,提高實際動手編程能力的培養(yǎng),掌握以Java為核心的應用軟件開發(fā)方案,達到能獨立閱讀、編制和調試一定規(guī)模的Java程序的水平。1.3本選題的設計背景日常生活、學習中我
3、們經常需要畫圖,簡單的畫圖我們可以手工畫圖,但往往還是不能滿足需求。因此,借助計算機準確而快速的畫圖就十分有必要了。好的畫圖工具能夠很好的完成日常生活中的各種畫圖工作。學習了Java語言后設計開發(fā)一個畫圖軟件是對Java語言學習的鞏固以及提高。能夠在實踐中更深的理解面向對象語言,同時提高了解決問題的能力。2 需求分析 2.1 功能需求考慮到畫圖板的實際需要,畫圖板要實現打開、保存圖片,用于打開本地圖片或保存當前圖片至本地;選擇需要繪制的圖形,用于選擇需要繪制的圖形樣式,如直線、矩形、橢圓等;設置背景色、畫筆色以及畫筆大小,用于設置畫板背景顏色、畫筆顏色和當前畫筆粗細;擦除錯誤操作;顯示幫助信息
4、等。2.2 軟件開發(fā)運行環(huán)境本軟件開發(fā)平臺: Java 本軟件集成開發(fā)環(huán)境: MyEclipse本軟件運行環(huán)境: Windows xp 或以上版本3 總體設計3.1 軟件結構設計3.1.1 結構設計 菜單欄的設計及功能實現:菜單欄主要包括文件、幫助等常見菜單。其中文件菜單有新建、打開、保存、另存為等功能;幫助菜單提供關于畫圖板的信息。 畫圖區(qū)的設計:對圖片的編輯處理區(qū)。 工具欄的設計:根據實際需要選擇不同的工具完成畫圖操作。 其他功能設計。3.2軟件功能模塊及主要類設計3.2.1功能描述本軟件可以繪制日常生活、學習中的一般圖形。軟件主要有菜單欄、工具欄、畫圖區(qū)組成,菜單欄具有新建、打開、保存等
5、常見的功能;工具欄可以選擇用戶需要的圖形樣式、設置參數、插入文本等操作;畫圖區(qū)就是簡單繪圖區(qū)域,用戶在畫圖區(qū)可自由繪制圖形。還可以根據不同的需要設置背景色,畫筆大小、畫筆顏色。能夠在任意點添加幾何圖形等。3.2.2總體結構圖菜單欄工具欄狀態(tài)欄文件幫助畫圖區(qū)文件操作形狀選擇設置鼠標狀態(tài)新建打開保存自由直線矩形圓立方體背景色畫筆大小文字樣式畫筆色圖 3.2.1 畫圖板總體結構圖3.2.3主要類設計(1) Paint類 Paint類為主類,定義main方法;(2) MyPaint類 MyPaint類繼承JFrame類,用于實現畫圖板的總體構架。包括菜單欄設計、工具欄設計、畫圖區(qū)創(chuàng)建等等。畫圖板的基本
6、功能都靠MyPaint類來實現。(3) DrawPanel類 DrawPanel來是MyPaint類的內部類,是用來畫圖的。(4) drawings類 drawings類是畫圖類,基本圖形的單元。其各個子類用以實現畫各種圖形包括以下幾個子類:1Line類:繪制直線;2 Rect類:繪制矩形;3fillRect:繪制實心矩形;4Oval類:繪制橢圓;5fillOval類:繪制實心橢圓;6Circle類:繪制圓;7fillCircle類:繪制實心圓;8RoundRect:繪制圓角矩形;9fillRoundRect類:繪制實心圓角矩形;10Pencil類:自由筆;11 Rect3D 類:繪制3D矩形
7、;12fillRect3D類:繪制實現3D矩形;13Cube類:繪制立方體;14Rubber類:橡皮類;15 Word類:文本類;4 詳細設計與實現4.1 主界面4.1.1主界面功能設計畫圖板的主界面分為菜單欄、工具欄、畫圖區(qū)、狀態(tài)欄四部分。其中,菜單欄實現了圖片的打開、新建、保存等操作;工具欄實現了畫筆的各種操作;畫圖區(qū)實現了圖片的操作面板;狀態(tài)欄實現了顯示鼠標當前狀態(tài)。4.1.2主界面設計畫圖板的主界面如圖所示,在主類中加載了系統(tǒng)風格,使其界面更為美觀;為工具欄和工具欄按鈕添加了顏色,使畫圖板顏色不單調;為畫圖板得主窗口設置圖標,使畫圖板更有個性。在實現畫圖功能的基礎上使其外觀更為人性化。
8、圖 4.1.1 主界面圖4.1.3主界面主要代碼 設置窗體圖標:Toolkit kit=Toolkit.getDefaultToolkit();/獲取Toolkit實例Image image=kit.getImage("Icons/Title.jpg");/獲取圖片setIconImage(image); /設置窗體圖標 加載系統(tǒng)風格:try UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName(); /加載系統(tǒng)界面風格 catch (Exception e) 設置鼠標樣式:setCursor(ne
9、w Cursor(Cursor.HAND_CURSOR);/設置畫圖板鼠標樣式 背景色:setBackground(new Color(0,255,0);4.2 菜單欄4.2.1菜單欄功能設計菜單欄包括文件、編輯、設置、幫助四部分。其中,文件菜單實現了新建、打開、保存、退出功能;編輯菜單實現了撤銷和恢復功能;設置菜單實現了畫筆顏色、畫筆大小和立方體寬度的設置;幫助菜單實現了關于畫圖板的幫助信息;4.2.2菜單欄界面設計1.文件菜單:圖 4.2.1 文件菜單2.編輯菜單:圖 4.2.3 編輯菜單3.設置菜單:圖 4.2.3 設置菜單4.幫助菜單:圖 4.2.4 幫助菜單5.打開文件窗口:圖 4.
10、2.5 打開窗口6.撤銷菜單(此功能尚不完善):圖 4.2.6 撤銷操作7.畫筆顏色選擇:圖 4.2.7 畫筆顏色選擇8.畫筆大小設置:圖 4.2.8 設置畫筆大小9.立方體寬度設置:圖4.2.8 設置立方體寬度10.“關于畫圖板”幫助:圖4.2.10 關于畫圖板11.“關于作者”幫助圖4.2.11關于作者4.2.3菜單欄主要代碼菜單欄代碼較多,詳細代碼見附錄。4.3 工具欄4.3.1工具欄功能設計工具欄是一系列快捷操作的按鈕,分別是:新建、打開、保存、自由畫筆、直線、空心矩形、實心矩形、空心橢圓、實心橢圓、圓、實心圓、空心圓角矩形、實心圓角矩形、3D矩形、3D矩形、3D長方體、橡皮、設置背景
11、色、畫筆顏色、畫筆粗細、添加文字,用來實現相應的功能。另外還為工具欄設置了按鈕圖片和鼠標右擊事件,右擊鼠標可以設置工具欄是否可拖動。4.3.2工具欄界面設計圖4.3.1 工具欄界面4.3.3工具欄主要代碼 工具欄按鈕圖標:items=new ImageIconnames.length;/創(chuàng)建各種基本圖形的按鈕 choices=new JButtonnames.length;buttonPanel = new JToolBar( JToolBar.VERTICAL);buttonPanel = new JToolBar( JToolBar.HORIZONTAL);ButtonHandler ha
12、ndler=new ButtonHandler();ButtonHandler1 handler1=new ButtonHandler1();buttonPanel.setBackground(new Color(0,255,0);/工具欄背景色設置/導入圖形圖標,圖標存放在項目文件夾下的Icons目錄內 for(int i=0;i<choices.length;i+)itemsi=new ImageIcon("Icons/"+namesi+".gif");choicesi=new JButton(itemsi);choicesi.setToolT
13、ipText(tipTexti);choicesi.setBackground(new Color(0,255,0);/按鈕背景色設置buttonPanel.add(choicesi); 鼠標右擊事件:/ 工具欄右擊菜單,設置工具欄是否可拖動void ToolMenu() final JPopupMenu ToolMenu;ToolMenu = new JPopupMenu();final JCheckBox move = new JCheckBox("工具欄是否可拖動");move.setBackground(new Color(0, 255, 0);ToolMenu.a
14、dd(move);buttonPanel.addMouseListener(new MouseAdapter() public void mousePressed(MouseEvent e) if (e.getModifiers() = InputEvent.BUTTON3_MASK)ToolMenu.show(buttonPanel, e.getX(), e.getY(););move.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) if (move.isSelected()
15、buttonPanel.setFloatable(true); else buttonPanel.setFloatable(false););4.4 畫圖區(qū)4.4.1畫圖區(qū)功能設計畫圖區(qū)可以繪制各種圖形,可以進行擦除操作,還可以根據實際需要添加文本。4.4.2畫圖區(qū)界面設計圖4.4.1 畫圖界面4.4.3畫圖區(qū)主要代碼詳細代碼見附錄。4.5 狀態(tài)欄4.5.1狀態(tài)欄功能設計狀態(tài)欄是顯示鼠標的狀態(tài)的信息欄,隨時反饋鼠標信息。4.5.2狀態(tài)欄設計 圖4.5.1 狀態(tài)欄顯示4.5.3狀態(tài)欄代碼部分代碼如下,詳細代碼見附錄:public void mouseReleased(MouseEvent e)s
16、tatusBar.setText("鼠標松開:"+e.getX()+","+e.getY()+"");if(currentChoice=3|currentChoice=16)itemListindex.x1=e.getX();itemListindex.y1=e.getY(); itemListindex.x2=e.getX();itemListindex.y2=e.getY();repaint();index+;createNewItem();5 小結和展望三周的時間很快,作為Java初學者的我在三周的時間內完成畫圖板軟件的開發(fā)、設
17、計不免有很多漏洞。但是重要的不是結果,而是從中學到了什么!從寫字板到畫圖板,相同的地方不少,但不同的地方更多。寫字板是文本處理,從文本區(qū)定義到讀寫文件都相對容易些。而畫圖板就不同了,畫圖面板要自己定義,還要設置各種參數。一開始就覺得挺難入手,但是作為Java語言的入門級開發(fā)產品,不管多少困難也要堅持到最后。通過查閱書籍、上網搜索資料以及同學間的交流,最終還是比較成功的完成了畫圖板軟件的設計。 畫圖板軟件的開發(fā),使我收獲了更多的知識。而這些知識是實踐中才能學得到的。想起一句話:紙上得來終覺淺,絕知此事要躬行。沒錯,學習不僅僅是大腦的思考,更要有實踐的配合?,F在覺得自己掌握的Java知識比課堂上學
18、到的多很多,同時對其他編程語言的學習也有了一定的幫助。軟件設計向來不是一路順風的,在開發(fā)過程中總會突發(fā)奇想的實現某些其他功能,但總是失敗,比如像文本處理的撤銷與恢復操作,覺得這個功能很有必要,但是沒有實現。如果畫錯了就只能重畫了,因此解決這一問題意義很大,期待以后能夠解決這一問題。參 考 文 獻1 耿祥義, 張躍平. Java大學實用教程 M. 北京:電子工業(yè)出版社, 2011.2 陳嵩 等. 新手學Java M. 北京:北京希望電子出版社, 2010.附 錄使用說明書本軟件由MyEclipse9.1開發(fā),運行文件后直接進入窗口。菜單欄有新建、打開、保存、另存為、退出功能??捎面I盤快捷鍵實現相
19、應功能。打開文件只可打開本軟件生成的圖片文件,再次提示用戶注意。編輯菜單尚不完善,后續(xù)版本將會解決,望用戶包涵。設置菜單可設置畫筆顏色、畫筆大小和立方體寬度,如有需要可在此進行設置。幫助菜單顯示本軟件信息與作者信息,如有需要,請您按照相關聯(lián)系方式進行聯(lián)系。由于作者水平有限,本軟件不免有很多錯誤的地方,歡迎廣大用戶提出意見!源程序清單Paint.java:import java.awt.*;import java.awt.event.*;import java.io.*;import javax.swing.*;import javax.swing.event.UndoableEditEvent
20、;import javax.swing.undo.*;public class Paintpublic static void main(String args)try UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName(); /加載系統(tǒng)界面風格 catch (Exception e) new MyPaint();class MyPaint extends JFrameJMenuBar jmenuBar;private ObjectInputStream input;private ObjectOutputStrea
21、m output; /定義輸入輸出流,用來調用和保存圖像文件private JButton choices; /按鈕數組private String names="New",/新建"Open",/打開"Save",/保存"Pencil",/自由畫筆"Line",/直線"Rect",/空心矩形"fRect",/實心矩形"Oval",/空心橢圓"fOval",/實心橢圓"Circle",/圓形&quo
22、t;fCircle",/實心圓形"RoundRect",/圓角矩形"frRect",/實心圓角矩形"3DRect",/3D矩形"f3DRect",/實心3D矩形"Cube",/立方體"Rubber",/橡皮擦"bgColor",/背景色 "Color",/畫筆顏色"Stroke",/畫筆大小"Word"/文本輸入;GraphicsEnvironment ge = GraphicsEnvi
23、ronment.getLocalGraphicsEnvironment();String styleNames = ge.getAvailableFontFamilyNames(); /加載系統(tǒng)字體private Icon items;private String tipText="新建","打開","保存","自由畫筆","直線","空心矩形","實心矩形","空心橢圓","實心橢圓","圓",
24、"實心圓","空心圓角矩形","實心圓角矩形","3D矩形","3D矩形","3D長方體","橡皮","設置背景色","畫筆顏色","畫筆粗細","添加文字"/按鈕提示說明JToolBar buttonPanel ;/定義按鈕面板private JLabel statusBar;/顯示鼠標狀態(tài)的提示條 private DrawPanel drawingArea;/定義畫圖區(qū)域
25、private int width=850,height=550;/畫圖區(qū)域初始大小 drawings itemList=new drawings5000;/用來存放基本圖形的數組 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;/設置畫筆粗細static int thickness
26、=10;/立方體寬度JCheckBox bold,italic;/定義字體風格選擇框MyUndoManager myUndo;JComboBox styles;/字體選擇框Toolkit kit=Toolkit.getDefaultToolkit();/獲取Toolkit實例Image image=kit.getImage("Icons/Title.jpg");/獲取圖片public MyPaint()setTitle("畫圖板 1.0開發(fā)者預覽版");setLocation(200,100);/畫圖板窗口起始位置setSize(850,550);/畫圖
27、板大小setVisible(true);setIconImage(image); /設置窗體圖標setCursor(new Cursor(Cursor.HAND_CURSOR);/設置畫圖板鼠標樣式drawingArea=new DrawPanel(); setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) if (JOptionPane.showConfirmDialog(new Fr
28、ame(),"你確定退出嗎?","退出提示",JOptionPane.WARNING_MESSAGE) = JOptionPane.OK_OPTION)System.exit(0););/關閉確認提示getJMenuBar(); /獲取菜單欄myUndo = new MyUndoManager();items=new ImageIconnames.length;/創(chuàng)建各種基本圖形的按鈕 choices=new JButtonnames.length;buttonPanel = new JToolBar( JToolBar.VERTICAL);button
29、Panel = new JToolBar( JToolBar.HORIZONTAL);ButtonHandler handler=new ButtonHandler();ButtonHandler1 handler1=new ButtonHandler1();buttonPanel.setBackground(new Color(0,255,0);/工具欄背景色設置/導入圖形圖標,圖標存放在項目文件夾下的Icons目錄內 for(int i=0;i<choices.length;i+)itemsi=new ImageIcon("Icons/"+namesi+"
30、;.gif");choicesi=new JButton(itemsi);choicesi.setToolTipText(tipTexti);choicesi.setBackground(new Color(0,255,0);/按鈕背景色設置buttonPanel.add(choicesi);ToolMenu(); /工具欄右擊事件調用/將動作偵聽器加入按鈕里面for(int i=3;i<choices.length-4;i+)choicesi.addActionListener(handler);choices0.addActionListener(new ActionLis
31、tener()public void actionPerformed(ActionEvent e)newFile(););choices1.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)loadFile(););choices2.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)saveFile();); choiceschoices.length-4.addActionL
32、istener(handler1);choiceschoices.length-3.addActionListener(handler1); choiceschoices.length-2.addActionListener(handler1);choiceschoices.length-1.addActionListener(handler1);/字體風格選擇styles=new JComboBox(styleNames);styles.setMaximumRowCount(10);styles.addItemListener(new ItemListener()public void it
33、emStateChanged(ItemEvent e)style1=styleNamesstyles.getSelectedIndex(););/字體選擇bold=new JCheckBox("加粗");italic=new JCheckBox("傾斜");checkBoxHandler cHandler=new checkBoxHandler();bold.addItemListener(cHandler);italic.addItemListener(cHandler);bold.setBackground(new Color(0,255,0);it
34、alic.setBackground(new Color(0,255,0);buttonPanel.add(bold);buttonPanel.add(italic);buttonPanel.addSeparator();buttonPanel.add(new JLabel("字體:");buttonPanel.add(styles);buttonPanel.setFloatable(false);styles.setMinimumSize(new Dimension(100,20);/字體選框大小設置styles.setMaximumSize(new Dimension(
35、120,20);Container c=getContentPane();c.add(buttonPanel,BorderLayout.NORTH);c.add(drawingArea,BorderLayout.CENTER);statusBar=new JLabel();c.add(statusBar,BorderLayout.SOUTH);createNewItem();setSize(width,height);show();/按鈕偵聽器ButtonHanler類,內部類,用來偵聽基本按鈕的操作public class ButtonHandler implements ActionLis
36、tenerpublic void actionPerformed(ActionEvent e)for(int j=3;j<choices.length-4;j+)if(e.getSource()=choicesj)currentChoice=j;createNewItem();repaint();/按鈕偵聽器ButtonHanler1類,用來偵聽顏色選擇、畫筆粗細設置、文字輸入按鈕的操作public class ButtonHandler1 implements ActionListenerpublic void actionPerformed(ActionEvent e)if(e.ge
37、tSource()=choiceschoices.length-4)SetbgColor();if(e.getSource()=choiceschoices.length-3)chooseColor();if(e.getSource()=choiceschoices.length-2)setStroke();if(e.getSource()=choiceschoices.length-1)JOptionPane.showMessageDialog(null,"在鼠標點擊處添加文本","添加文本",JOptionPane.INFORMATION_MESSA
38、GE );currentChoice=17;createNewItem();repaint();/鼠標事件mouseA類,繼承了MouseAdapter,用來完成鼠標相應事件操作class mouseA extends MouseAdapterpublic void mousePressed(MouseEvent e)statusBar.setText("鼠標點擊:"+e.getX()+","+e.getY()+"");/設置狀態(tài)提示itemListindex.x1=itemListindex.x2=e.getX();itemList
39、index.y1=itemListindex.y2=e.getY();/如果當前選擇的圖形是隨筆畫或者橡皮擦,則進行下面的操作 if(currentChoice=3|currentChoice=16)itemListindex.x1=itemListindex.x2=e.getX();itemListindex.y1=itemListindex.y2=e.getY();index+;createNewItem();/如果當前選擇的圖形式文字輸入,則進行下面操作if(currentChoice=17)itemListindex.x1=e.getX();itemListindex.y1=e.get
40、Y();String input;input=JOptionPane.showInputDialog("輸入要添加的文本內容");itemListindex.s1=input;itemListindex.x2=f1;itemListindex.y2=f2;itemListindex.s2=style1;index+;currentChoice=17;createNewItem();drawingArea.repaint();public void mouseReleased(MouseEvent e)statusBar.setText("鼠標松開:"+e
41、.getX()+","+e.getY()+"");if(currentChoice=3|currentChoice=16)itemListindex.x1=e.getX();itemListindex.y1=e.getY(); itemListindex.x2=e.getX();itemListindex.y2=e.getY();repaint();index+;createNewItem();public void mouseEntered(MouseEvent e)statusBar.setText("鼠標進入:"+e.getX(
42、)+","+e.getY()+"");public void mouseExited(MouseEvent e)statusBar.setText("鼠標移出:"+e.getX()+","+e.getY()+"");/鼠標事件mouseB類繼承了MouseMotionAdapter,用來完成鼠標拖動和鼠標移動時的相應操作class mouseB extends MouseMotionAdapterpublic void mouseDragged(MouseEvent e)statusBar.se
43、tText("畫圖:"+e.getX()+","+e.getY()+"");if(currentChoice=3|currentChoice=16)itemListindex-1.x1=itemListindex.x2=itemListindex.x1=e.getX();itemListindex-1.y1=itemListindex.y2=itemListindex.y1=e.getY();index+;createNewItem();elseitemListindex.x2=e.getX();itemListindex.y2=e.
44、getY();repaint();public void mouseMoved(MouseEvent e)statusBar.setText("鼠標位置:"+e.getX()+","+e.getY()+"");/選擇字體風格時候用到的事件偵聽器類,加入到字體風格的選擇框中private class checkBoxHandler implements ItemListenerpublic void itemStateChanged(ItemEvent e)if(e.getSource()=bold)/設置字體為加粗if(e.getSt
45、ateChange()=ItemEvent.SELECTED)f1=Font.BOLD;elsef1=Font.PLAIN;if(e.getSource()=italic)/設置字體為傾斜if(e.getStateChange()=ItemEvent.SELECTED)f2=Font.ITALIC;elsef2=Font.PLAIN;/畫圖面板類,用來畫圖class DrawPanel extends JPanelpublic DrawPanel()setCursor(Cursor.getPredefinedCursor(Cursor.CROSSHAIR_CURSOR);setBackgrou
46、nd(Color.white);/設置畫圖面板初始顏色為白色addMouseListener(new mouseA();addMouseMotionListener(new mouseB();public void paintComponent(Graphics g)super.paintComponent(g);Graphics2D g2d=(Graphics2D)g;/定義畫筆int j=0;while (j<=index)draw(g2d,itemListj);j+;void draw(Graphics2D g2d,drawings i)i.draw(g2d);/將畫筆傳入到各個子
47、類中,用來完成各自的繪圖/新建一個畫圖基本單元對象的程序段void createNewItem()if(currentChoice=17)/選擇文本時鼠標為文本輸入形drawingArea.setCursor(Cursor.getPredefinedCursor(Cursor.TEXT_CURSOR);else/其他情況十字形drawingArea.setCursor(Cursor.getPredefinedCursor(Cursor.CROSSHAIR_CURSOR);switch (currentChoice)case 3:itemListindex=new Pencil();break;
48、case 4:itemListindex=new Line();break;case 5:itemListindex=new Rect();break;case 6:itemListindex=new fillRect();break;case 7:itemListindex=new Oval();break;case 8:itemListindex=new fillOval();break;case 9:itemListindex=new Circle();break;case 10:itemListindex=new fillCircle();break;case 11:itemListi
49、ndex=new RoundRect();break;case 12:itemListindex=new fillRoundRect();break;case 13:itemListindex=new Rect3D();break;case 14:itemListindex=new fillRect3D();break;case 15:itemListindex=new Cube();break;case 16:itemListindex=new Rubber();break;case 17:itemListindex=new Word();break;itemListindex.type=c
50、urrentChoice;itemListindex.R=R;itemListindex.G=G;itemListindex.B=B;itemListindex.stroke=stroke;itemListindex.thickness=thickness;/選擇當前顏色程序段public void chooseColor()color=JColorChooser.showDialog(MyPaint.this,"選擇畫筆顏色",color);R=color.getRed();G=color.getGreen();B=color.getBlue();itemListinde
51、x.R=R;itemListindex.G=G;itemListindex.B=B;/選擇背景顏色程序段public void SetbgColor()color=JColorChooser.showDialog(MyPaint.this,"選擇背景顏色",color);R=color.getRed();G=color.getGreen();B=color.getBlue();drawingArea.setBackground(new Color(R,G,B);/選擇當前線條粗細程序段public void setStroke()String input;input=JOptionPane.showInputDialog("請輸入畫筆粗細值:");stroke=Float.parseFloat(input);itemListindex.stroke=stroke;/選擇立方體寬度public void setthickness()String input;input=JOptionPane.showInputD
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司借款財務制度
- 名醫(yī)工作室財務制度
- 裝修公司項目部財務制度
- 宗教場所財務制度管理
- 養(yǎng)老院老人緊急救援預案制度
- 養(yǎng)老院老人健康飲食營養(yǎng)師晉升制度
- 養(yǎng)老院老人安全管理制度
- 校園文化建設管理制度
- 敬老院財務管理制度
- 罕見血液病患者的疼痛管理策略-1
- 用電安全隱患檢測的新技術及應用
- 2025年常州機電職業(yè)技術學院高職單招語文2018-2024歷年參考題庫頻考點含答案解析
- 民間融資居間合同
- 環(huán)境污染損害評估報告
- 表面活性劑化學知識點
- 《塑料材質食品相關產品質量安全風險管控清單》
- 武術學校體育器材項目 投標方案(技術方案)
- DL∕T 1057-2023 自動跟蹤補償消弧線圈成套裝置技術條件
- 市場營銷部門主管聘用協(xié)議
- 期貨投資說課市公開課一等獎省賽課微課金獎課件
- 辦理退休委托書
評論
0/150
提交評論