




已閱讀5頁,還剩49頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
成績 課程設計報告題目 面向對象程序設計課程設計 課 程 名 稱 基于java的圖片查看器設計 院 部 名 稱 專 業(yè) 班 級 學 生 姓 名 學 號 課程設計地點 課程設計學時 指 導 教 師 課程設計題目: 基于java的科學計算器設計 一、摘要(所進行設計工作的主旨、緣起、目的,設計工作的主要內容、過程,采用的方法及取得的成果。關鍵字(Key Words):一般35個,最能代表報告內容特征,或在報告起關鍵作用,最能說明問題的詞組)主旨:進一步掌握java的面向對象的程序設計緣起:在學習了java的面向對象的程序設計后,學校開了java的課程設計課,正好進一步掌握java的圖形用戶界面設計。目的:設計一個基于java的科學計算器關鍵字:java面向對象 科學計算器 圖形用戶界面二、目錄目 錄1、課程設計概述42、系統(tǒng)功能描述43、系統(tǒng)需求分析與設計43.1 系統(tǒng)需求分析43.2 系統(tǒng)設計43.2.1 系統(tǒng)總體設計43.2.2 程序詳細設計54、系統(tǒng)測試和使用說明84.1 系統(tǒng)測試84.2 系統(tǒng)使用說明105、課程設計總結105.1 遇到的問題和解決方法105.2 心得體會10參考文獻10附錄1150三、前言(說明本次課程設計課題意義,本課題相關技術特點、擬采用的方案或路線)該程序是一個圖形界面的簡單的 java 計算器,使用人員能快捷簡單地進行 操作.即時準確地獲得需要的計算的結果,充分降低了數(shù)字計算的難度和節(jié)約了 時間,對人們的生活有一定的幫助.可以進行簡單的四則運算(加,減,乘,除, 以及求倒數(shù),求相反數(shù)) ,有退格功能, 歸零 表示初始化,界面顏色為灰白,該 程序支持鍵盤操作。隨著科學技術的不斷發(fā)展, 計算機已經成為我們工作學習和生活中不可缺少 的工具.文本編輯器是個人計算機最司空見慣的應用程序了,在學習了 Java 語 言之后,我決定使用 Java 語言編寫一個簡單的計算器,可以實現(xiàn)簡單的運算功 能,滿足日常基本的工作學習和娛樂需要. Java 是由 Sun 公司開發(fā)的新一代純面向對象的網絡編程語言.其目標是建 立一種在任意種機器, 任一種操作系統(tǒng)的網絡環(huán)境中運行的軟件, 實行所謂的 程 序寫一次,到處運行的目標.正因為如此,Java 已成為當今 Internet 上最流 行,最受歡迎的一種程序開發(fā)語言.Java 開發(fā)小組把 Java 按特性分為基本版,移動版,企業(yè)版,每個版本有一 個軟件開發(fā)包. Java 基本版本叫 Java 2 標準版 (Java 2 Standard Edition,J2SE) , 它包含建立 Java 應用程序或者是 Applet 所需的應用程序編程接口(API) .Java 2 移動版(The Java 2 Mobile Edition,J2ME)包含創(chuàng)建無線 Java 應用程序的 API.還有 Java 2 企業(yè)版(The Java 2 Enterprise,J2EE)是 J2SE 的增強版本, 包含建立多層架構應用程序 API。四、正文(包含所進行設計的整體內容)圖片查看器1、課程設計概述為提高學生理論與實踐相結合的能力,計電學院于2009年6月開展了為期兩周的面向對象課程設計,針對對象為07級全體計科專業(yè)學生。本次實踐教學采用學生集中在學校網絡機房上機,指導老師指導的形式。要求學生用所學的面向對象程序設計語言JAVA來編寫程序,實現(xiàn)特定功能,以加深對面向對象程序設計這個概念的理解。2、系統(tǒng)功能描述本次設計的圖片查看器實現(xiàn)了在用戶選定的文件目錄下循環(huán)瀏覽指定后綴的圖片文件,并且可以對選擇的圖片進行放大,縮小,左旋,右旋,另存,徹底刪除等操作。3、系統(tǒng)需求分析與設計3.1 系統(tǒng)需求分析隨著數(shù)字產品漸進人們的生活,網絡通信技術、圖像處理技術以及多媒體技術的發(fā)展,越來越多的用戶希望能夠對已有的數(shù)字圖片進行查看并能夠實現(xiàn)簡單的操作。本圖片查看器以其簡潔明了易操作的特點實現(xiàn)圖片查看的基本功能,從而也就滿足了用戶的基本要求。3.2 系統(tǒng)設計3.2.1 系統(tǒng)總體設計(1)系統(tǒng)功能分析本系統(tǒng)要用到以下的Java編程技術實現(xiàn)的功能:圖像顯示功能:客戶需要顯示圖片,這將由圖像顯示功能來完成。顯示圖片的時候,用到了雙緩沖技術來消除閃爍問題。(2)類圖系統(tǒng)中用到了一些基本類、實現(xiàn)了一些接口。系統(tǒng)所用到的類如圖1所示:PicViewerActionListenerJpanelJLabelJButtonImageBufferedImageGraphics2DStringJfilechooseAppletJava.awt.*Javax.swing.*Java.io.*Java.applet.*extendsimplementimport圖1 系統(tǒng)類圖3.2.2 程序詳細設計(1)程序中引用的類JPanel類程序中定義了三個Jpanel類分別是:pathBar, picContainer, ctrBar。用于圖片查看器的整體布局。其中pathBar為頂部路徑欄,picContainer為圖片顯示區(qū)域,ctrBar為底部控制欄。JLabel類程序中定義了類名為pathInfo的JLabel類,用于實現(xiàn)頂部路徑欄,底部控制欄按鈕的文字顯示。JButton類程序中定義了多個JButton類:openbtn, prebtn, nextbtn, zoominbtn, zoomoutbtn, oripicbtn, angleleftbtn, anglerightbtn,exitbtn,deletebtn,sav;為查看器的按鈕。Image 類程序中定義了名為pic的Image類用于對被查看的圖片的操作。BufferedImage 類此類為用于顯示的緩沖區(qū)圖像。在對圖像進行操作前,都先將圖片讀進預設的緩沖區(qū),然后再顯示在用戶前端,這樣雖然速度慢了點,但很好的消除了圖片閃爍效果。Graphics2D 類此類與上面的BufferedImage類共同作用,通過運用雙緩沖技術很好的消除屏閃問題。String類程序中運用了三個不同的String類,從而實現(xiàn)了需要查看的圖片的路徑的操作,并且在啟動圖片查看器時,圖片的路徑能夠在路徑欄顯示出來。同時還設置了String 數(shù)組用于存儲用戶選定的目錄下所有指定格式的圖片,這樣可以實現(xiàn)循環(huán)瀏覽圖片等操作。(2)程序的構造方法及其實現(xiàn)因為圖片查看器可以實現(xiàn)對圖片不同的操作,程序中構造了十多個方法以達到其目的。各構造方法相互聯(lián)系共同完成圖片查看器的各項功能。各個方法描述如下:public void init()本方法實現(xiàn)了對圖片查看器的界面的整體布局及按鈕的初始化。對頁面的總體布局采用了以下主要代碼進行實現(xiàn):setLayout(new BorderLayout();add(pathBar, BorderLayout.NORTH); add(picContainer, BorderLayout.CENTER); add(ctrBar, BorderLayout.SOUTH); resize(640, 400);設置頂部路徑欄,及其文字顯示;代碼如pathBar = new JPanel();pathBar.setLayout(new BorderLayout();pathInfo.setText(圖片查看器); pathBar.add(pathInfo);同時對圖片顯示區(qū)域,底部的控制欄的設置也運用了相似的代碼進行實現(xiàn),在此就不再重復。各按鈕除了“打開”一按鈕外,其他的各按鈕均設置為false。這是因為只有“打開”圖片后才能進行以下的像循環(huán)瀏覽,旋轉,刪除等操作。具體方法的實現(xiàn)見附件。public void actionPerformed(ActionEvent)在本方法中主要實現(xiàn)了用戶對底部控制欄各按鈕的點擊后,圖片查看器進行的相對應的操作反應。方法中一開始用JButton click = (JButton) e.getSource();獲取按鍵源,然后根據click與程序設定的已知的類進行比較決定進行相應的反應。if(click = openbtn);if(click = prebtn & pic != null);等一系列進行判斷后,進行或是打開文件open()方法的調用;或是pre()方法的調用;其他各操作也大同小異,在此就不再贅述。方法的詳細代碼見附件。public void open()該方法實現(xiàn)了對用戶選定的文件路徑下的后綴為.jpg的圖片文件的打開操作。同時能夠對該路徑下的一切符合條件的文件進行跟蹤處理。方法中的核心在于一個過濾操作:FileNameExtensionFilter filter = new FileNameExtensionFilter(*.JPG, jpg);這樣就能實現(xiàn).jpg文件的瀏覽了。在選定了圖片后,相應的按鈕值應該被賦值為ture,以便進行其他的操作。若沒有選定圖片則顯示“沒有選擇圖片”。public void save() throws IOException該方法是為了滿足用戶希望對圖片進行另外存儲的操作,通過用戶自己的選擇重新選定圖片的存儲路徑。詳細實現(xiàn)見附件中代碼。 public void pre()及public void next()Pre與next方法實現(xiàn)了對當前圖片的上一張下一張的瀏覽。因為在第一次打開文件時就將該路徑下所有符合要求的圖片存儲在String pics中。通過if(i = 0) i = pics.length-1; else i -;其中i為當前的圖片位置數(shù)。通過dir = path + + picsi;獲得文件的路徑,然后調用loadImage(dir);此方法將在后面介紹;與上面的方法相對應的是此方法實現(xiàn)了對當前圖片下一張的瀏覽,實現(xiàn)原理與上相同,if(i = pics.length-1) i = 0; else i+;通過調用loadImage(dir);一方法實現(xiàn)。public void picTrans()如果bufImage為空則直接返回,之后進行過濾圖像操作,2D仿射變換,設置仿射變換的比例因子transform.setToScale(scaleX, scaleY); 創(chuàng)建仿射變換操作對象,過濾圖像,將目標圖像存在filteredBufImage中,然后顯示。public void zoomin()此方法實現(xiàn)了對當前的圖片進行按設置比例縮小操作。在進行縮小操作前,先對圖片的大小進行判斷,看是否已經縮小到最小,若最小則顯示提示信息“已經縮至最?。 ?;否則進行縮小操作。在此過程中調用了picTrans()方法,以及repaint(); 重繪組件的方法。public void oripic()及public void delete()方法實現(xiàn)了將放大或縮小后的圖片大小還原的操作。同時也調用了picTrans()方法,以及repaint(); 重繪組件的方法。具體的picTrans()方法將在下面詳細描述。此方法具體實現(xiàn)見附件;public void delete()方法將圖片徹底刪除,刪除后圖片徹底被粉碎,回收站里面都不能找到。因此要慎用此按鈕。public void angleleft() 及public void angleright()方法每次對圖片進行45的向左向右的旋轉操作。radius += -Math.PI / 2;用以控制,而這些操作后,每次都應oripicbtn.setEnabled(true),也就是要將還原按鈕賦值為真。public void loadImage(String fileName) 及public void exit()前一個方法通過增加圖像到加載器中,創(chuàng)建原始緩沖區(qū)圖像,創(chuàng)建bufImage的圖形環(huán)境:bufImageG = bufImage.createGraphics();傳輸源圖像數(shù)據到緩沖區(qū)圖像中一些列的操作,對圖片進行了加載操作;public void exit()方法是退出查看器的方法。 4、系統(tǒng)測試和使用說明4.1 系統(tǒng)測試使用eclipse運行程序時,會出現(xiàn)applet小程序的界面。并顯示程序已啟動。顯示如圖2: 圖2 程序開始時的界面單擊“打開”按鈕后的效果圖如圖3:圖3 選擇圖片文件多次單擊“縮小”按鈕后的效果圖如圖4:圖4 圖片縮小顯示多次單擊放大按鈕后的效果圖如圖5所示:圖5 圖片放大顯示4.2 系統(tǒng)使用說明由于本人的能力有限在制作此圖片查看器時有許多沒能完善的地方,因此客戶在使用時應注意慎用刪除與保存按鈕,另外其他的操作只要單擊按鈕則行。特別值得注意原始按鈕只有在對圖片已經進行了放大或縮小的操作后其才是有效的。5、課程設計總結5.1 遇到的問題和解決方法在用JAVA編寫程序時,我遇到了很多困難,對很多的接口,類,方法都不是很熟悉,只好采用查看API文檔,一個一個進行對照學習,同時也上網查看了有關圖片查看器的相關描述,還向同學請教了,翻閱了相關的書籍。尤其是因為有些方法需要使用JDK1.6才行,所以在學校網絡機房一開始不能運行,在安裝了1.6版本后運行正常了。另外文件在打開時會有嚴重的頻閃問題,在重寫了public void update(Graphics g) this.paint(g);后解決了。5.2 心得體會在這次的面向對象程序設計課程設計中,我進一步熟悉了上一學期學習的JAVA語言中的包,類,方法:導入哪些包,繼承哪些類可以實現(xiàn)什么方法等。深刻感受到了面向對象語言中類庫的強大功能。但是由于自己掌握的知識有限,圖片查看器的功能沒有做到盡善盡美,尤其是刪除操作,刪除掉以后就沒了,在回收站也找不到。還有就是單擊“保存”按鈕后似乎就不能進行其他操作,但這樣的情況或有或無。通過這次的課程設計,我懂得了要充分利用網絡資源查找資料同時要多向同學請教,大家互相討論進步得會很快。通過近兩周多的努力,這次課程設計圓滿的結束了,在這個過程中,我收獲了很多的知識,同時也非常感謝杭志老師幫助與指導。在以后的學習中,我會更加努力的學好專業(yè)知識,并將所學知識用于實踐當中去,以便牢固掌握知識。參考文獻1葉核亞 java 程序設計實用教程(第四版) 電子工業(yè)出版社2百度文庫 5.2算法實現(xiàn)package mypackage;import java.awt.BorderLayout;import java.awt.Color;import java.awt.Dimension;import java.awt.Font;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.text.DecimalFormat;import javax.swing.BorderFactory;import javax.swing.ButtonGroup;import javax.swing.JButton;import javax.swing.JCheckBoxMenuItem;import javax.swing.JFrame;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import javax.swing.JPanel;import javax.swing.JRadioButtonMenuItem;import javax.swing.JTextField;public class Counter extends JFrame private JTextField tf;private JPanel panel1, panel2, panel3, panel4;private JMenuBar myBar;private JMenu menu1, menu2, menu3;private JMenuItem editItem1, editItem2, help1, help2, help3;private JRadioButtonMenuItem seeItem1, seeItem2;/單選框private JCheckBoxMenuItem seeItem3;/復選框private ButtonGroup bgb;private String back;private boolean IfResult = true, flag = false;private String oper = =;private double result = 0;private Num numActionListener;private DecimalFormat df;public Counter()super(科學計算器);/設置標題欄df = new DecimalFormat(#.#);/保留十位小數(shù)this.setLayout(new BorderLayout(10, 5);panel1 = new JPanel(new GridLayout(1, 3, 10, 10);panel2 = new JPanel(new GridLayout(5, 6, 5, 5);/5行6列panel3 = new JPanel(new GridLayout(5, 1, 5, 5);panel4 = new JPanel(new BorderLayout(5, 5);/* * 菜單欄 */myBar = new JMenuBar();menu1 = new JMenu(編輯(E);menu2 = new JMenu(查看(V);menu3 = new JMenu(幫助(H);menu1.setFont(new Font(宋體, Font.PLAIN, 12);menu2.setFont(new Font(宋體, Font.PLAIN, 12);menu3.setFont(new Font(宋體, Font.PLAIN, 12);/* * 編輯欄 */editItem1 = new JMenuItem(復制(C) Ctrl+C);editItem2 = new JMenuItem(粘貼(P) Ctrl+V);editItem1.setFont(new Font(宋體,Font.PLAIN,12);editItem2.setFont(new Font(宋體,Font.PLAIN,12);/* * 查看欄 */seeItem1 = new JRadioButtonMenuItem(科學型(T);seeItem2 = new JRadioButtonMenuItem(標準型(S);seeItem3 = new JCheckBoxMenuItem(數(shù)字分組(I);seeItem1.setFont(new Font(宋體,Font.PLAIN,12);seeItem2.setFont(new Font(宋體,Font.PLAIN,12);seeItem3.setFont(new Font(宋體,Font.PLAIN,12);/* * 幫助欄 */help1 = new JMenuItem(幫助主題(H);help2 = new JMenuItem(關于計算器(A);help1.setFont(new Font(宋體,Font.PLAIN,12);help2.setFont(new Font(宋體,Font.PLAIN,12);bgb = new ButtonGroup();/選項組menu1.add(editItem1);menu1.add(editItem2);menu2.add(seeItem1);menu2.add(seeItem2);menu2.addSeparator();/添加一條分割線menu2.add(seeItem3);menu3.add(help1);menu3.addSeparator();/添加一條分割線menu3.add(help2);myBar.add(menu1);myBar.add(menu2);myBar.add(menu3);this.setJMenuBar(myBar);numActionListener = new Num();/實現(xiàn)數(shù)字監(jiān)聽/* * 文本域,即為計算器的屏幕顯示區(qū)域 */tf = new JTextField();tf.setEditable(false);/文本區(qū)域不可編輯tf.setBackground(Color.white);/文本區(qū)域的背景色tf.setHorizontalAlignment(JTextField.RIGHT);/文字右對齊tf.setText(0);tf.setBorder(BorderFactory.createLoweredBevelBorder();init();/對計算器進行初始化/* * 初始化操作 * 添加按鈕 */private void init()addButton(panel1, 退格, new Clear(), Color.red);addButton(panel1, CE, new Clear(), Color.red);addButton(panel1, C, new Clear(), Color.red);addButton(panel2, 1/x, new Signs(), Color.magenta);addButton(panel2, log, new Signs(), Color.magenta);addButton(panel2, 7, numActionListener, Color.blue);addButton(panel2, 8, numActionListener, Color.blue);addButton(panel2, 9, numActionListener, Color.blue);addButton(panel2, , new Signs(), Color.red);addButton(panel3, 10n, new Signs(), Color.red);addButton(panel3, ln, new Signs(), Color.red);addButton(panel2, n!, new Signs(), Color.magenta);addButton(panel2, sqrt, new Signs(), Color.magenta);addButton(panel2, 4, numActionListener, Color.blue);addButton(panel2, 5, numActionListener, Color.blue);addButton(panel2, 6, numActionListener, Color.blue);addButton(panel2, , new Signs(), Color.red);addButton(panel2, sin, new Signs(), Color.magenta);addButton(panel2, x2, new Signs(), Color.magenta);addButton(panel2, 1, numActionListener, Color.blue);addButton(panel2, 2, numActionListener, Color.blue);addButton(panel2, 3, numActionListener, Color.blue);addButton(panel2, -, new Signs(), Color.red);addButton(panel2, cos, new Signs(), Color.magenta);addButton(panel2, x3, new Signs(), Color.magenta);addButton(panel2, 0, numActionListener, Color.blue);addButton(panel2, -/+, new Clear(), Color.blue);addButton(panel2, ., new Dot(), Color.blue);addButton(panel2, +, new Signs(), Color.red);addButton(panel2, tan, new Signs(), Color.magenta);addButton(panel2, 開立方根, new Signs(), Color.magenta);addButton(panel2, , numActionListener, Color.blue);addButton(panel2, e, numActionListener, Color.blue);addButton(panel2, , new Signs(), Color.orange);addButton(panel2, =, new Signs(), Color.red);JButton btns = new JButton(計算器);btns.setBorder(BorderFactory.createLoweredBevelBorder();btns.setEnabled(false);/按鈕不可操作btns.setPreferredSize(new Dimension(20, 20);panel3.add(btns);/加入按鈕addButton(panel3, MC, null, Color.red);addButton(panel3, MR, null, Color.red);addButton(panel3, MS, null, Color.red);addButton(panel3, M+, null, Color.red);panel4.add(panel1, BorderLayout.NORTH);panel4.add(panel2, BorderLayout.CENTER);this.add(tf, BorderLayout.NORTH);this.add(panel3, BorderLayout.WEST);this.add(panel4);pack();this.setResizable(false);/窗口不可改變大小this.setLocation(300, 200);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/* * 統(tǒng)一設置按鈕的的使用方式 * param panel * param name * param action * param color */private void addButton(JPanel panel, String name, ActionListener action, Color color)JButton bt = new JButton(name);panel.add(bt);/在面板上增加按鈕bt.setForeground(color);/設置前景(字體)顏色bt.addActionListener(action);/增加監(jiān)聽事件/* * 計算器的基礎操作(+ - ) * param x */private void getResult (double x)if(oper = +)result += x;else if(oper = -)result -= x;else if(oper = )result *= x;else if(oper = )result /= x;else if(oper = =)result = x;tf.setText(df.format(result);/* * 運算符號的事件監(jiān)聽 */class Signs implements ActionListenerpublic void actionPerformed(ActionEvent e) /* * 用ActionEvent對象的getActionCommand()方法 * 取得與引發(fā)事件對象相關的字符串 */String str = e.getActionCommand();/* sqrt求平方根 */if(str.equals(sqrt)double i = Double.parseDouble(tf.getText();if(i=0)/* * String.valueOf() 轉換為字符串 * df.format() 按要求保留四位小數(shù) * Math.sqrt() 求算數(shù)平方根 */tf.setText(String.valueOf(df.format(Math.sqrt(i);elsetf.setText(負數(shù)不能開平方根);/* log求常用對數(shù) */else if(str.equals(log)double i = Double.parseDouble(tf.getText();if(i0)tf.setText(String.valueOf(df.format(Math.log10(i);elsetf.setText(負數(shù)或0不能求對數(shù));/* 開立方根 */else if(str.equals(開立方根)double i = Double.parseDouble(tf.getText();tf.setText(String.valueOf(df.format(Math.pow(i,1.0/3);/* 1/x求倒數(shù) */else if(str.equals(1/x)if(Double.parseDouble(tf.getText() = 0)tf.setText(除數(shù)不能為零);elsetf.setText(df.format(1 / Double.parseDouble(tf.getText();/* sin求正弦函數(shù) */else if(str.equals(sin)double i = Double.parseDouble(tf.getText();tf.setText(String.valueOf(df.format(Math.sin(i*Math.PI/180);/* cos求余弦函數(shù) */else if(str.equals(cos)double i = Double.parseDouble(tf.getText();tf.setText(String.valueOf(df.format(Math.cos(i*Math.PI/180);/* tan求正切函數(shù) */else if(str.equals(tan)double i = Double.parseDouble(tf.getText();tf.setText(String.valueOf(df.format(Math.tan(i*Math.PI/180);/* n!求階乘 */else if(str.equals(n!)double i = Double.parseDouble(tf.getText();if(i%2=0)|(i%2=1)/判斷為整數(shù)放進行階乘操作int j = (int)i;/強制類型轉換int result=1;for(int k=1;k0)tf.setText(String.valueOf(df.format(Math.log(n);elsetf.setText(負數(shù)或0不能求自然對數(shù));/* 角度轉換 */* * 將角度值轉換成弧度值,方便三角函數(shù)的計算 */else if(str.equals()double i = Double.parseDouble(tf.getText();tf.setText(String.valueOf(i/180*Math.PI);elseif(flag)IfResult = false;if(IfResult)oper = str;else getResult(Double.parseDouble(tf.getText();oper = str;IfResult = true;/* * 清除按鈕的事件監(jiān)聽 */class Clear implements ActionListenerpublic void actionPerformed(ActionEvent e) /* * 用ActionEvent對象的getActionCommand()方法 * 取得與引發(fā)事件對象相關的字符串 */String str = e.getActionCommand();if(str = C)tf.setText(0);IfResult = true;result = 0;else if(str = -/+)double i = 0 - Double.parseDouble(tf.getText().trim();tf.setText(df.format(i);else if(str = 退格)if(Double.parseDouble(tf.getText() 0)if(tf.getText().length() 1)tf.setText(tf.getText().substring(0, tf.getText().length() - 1);/使用退格刪除最后一位字符elsetf.setText(0);IfResult = true;elseif(tf.getText().length() 2)tf.setText(tf.getText().substring(0, tf.getText().length() - 1);elsetf.setText(0);IfResult = true;else if(str = CE)tf.setText(0);IfResult = true;/* * 數(shù)字輸入的事件監(jiān)聽 */class Num implements ActionListenerpublic void actionPerformed(ActionEvent e) String str = e.getActionCommand();if(IfResult)tf.setText();IfResult = false;if(str=)tf.setText(String.valueOf(Math.PI);else if(str=e)tf.setText(String.valueOf(Math.E);elsetf.setText(tf.getText().trim() + st
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 視頻版權授權協(xié)議書
- 舞臺搭設合同協(xié)議書
- 股權合作開店協(xié)議書
- 社區(qū)衛(wèi)生組織的功能與試題及答案
- 新形勢下的護師試題及答案
- 行政法的公共政策制定研究試題及答案
- 瀏覽2025年藥師考試試題及答案
- 2025年護士職業(yè)道德建設試題及答案
- 護理評估與干預試題及答案解析
- 執(zhí)業(yè)藥師在不同領域的試題及答案
- 燃氣、LNG安全隱患規(guī)范依據查詢手冊
- 生物分離工程習題(含答案)
- 2025年停車場無償使用協(xié)議
- 護士定期考核試題及答案
- 2024年廣東建設職業(yè)技術學院高職單招語文歷年參考題庫含答案解析
- 建筑施工企業(yè)生產安全綜合應急救援預案
- 房地產質保期內《維修管理辦法》
- 設備潤滑保養(yǎng)制度(4篇)
- 肝膿腫診斷與治療
- 2024年藥理學阿司匹林課件:全面解析阿司匹林的臨床應用
- 航空維修發(fā)展前景分析
評論
0/150
提交評論