版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、傳播優(yōu)秀word版文檔 ,希望對您有幫助,可雙擊去除!java項目實戰(zhàn) -計算器一、開發(fā)環(huán)境 eclipse集成開發(fā)環(huán)境。2、 實現(xiàn)功能 加、減、乘、除的整數(shù)運算。3、 運用的知識點1、 jframe窗體的使用2、 jbutton按鈕的使用3、 jtextfiled輸入文本框的使用4、 container容器的使用5、 監(jiān)聽事件的使用6、 內(nèi)部類7、 if語句8、 switch case 語句9、 包10、 包的引用11、 數(shù)據(jù)類型之間的轉(zhuǎn)換(string轉(zhuǎn)int轉(zhuǎn)double double.valueof(string str),interger.valueof(string str))四、
2、重點知識的講解 常用窗體傳播優(yōu)秀word版文檔 ,希望對您有幫助,可雙擊去除! 窗體作為swing應(yīng)用程序中組件的承載體,處于非常重要的位置。swing中常用的窗體包括jframe和jdialog,本節(jié)將著重講解這兩個窗體的使用方法。 1、 jframe窗體 jframe窗體是一個容器,它是swing程序中各個組件的載體,可以將jframe看作是承載這些swing組件的容器。在開發(fā)應(yīng)用程序時可以通過繼承java.swing.iframe類創(chuàng)建一個窗體,在這個窗體中添加組件,同時為組件設(shè)置事件。由于該窗體繼承了jframe類,所以它擁有“最大化”、“最小化”和關(guān)閉等按鈕。下面將詳細(xì)講解jfram
3、e窗體在java應(yīng)用程序中的使用方法。jframe在程序中的語法格式如下:jframe jf=new jframe(title):container container=jf getcontentpane0;參數(shù)含義如下: jf:jframe類的對象 container:container類的對象,可以使用jframe對象調(diào)用getcontentpane()方法獲取。讀者大致應(yīng)該有這樣一個概念,swing組件的窗體通常與組件和容器相關(guān),所以在jframe對象創(chuàng)建完成后,需要調(diào)用getcontentpane()方法將窗體轉(zhuǎn)換為容器,然后在容器中添加組件或設(shè)
4、置布局管理器。通常,這個容器用來包含和顯示組件。如果需要將組件添加至容器,可以使用來自container類的add()方法進(jìn)行設(shè)置。例如:container.add(傳播優(yōu)秀word版文檔 ,希望對您有幫助,可雙擊去除!new jbutton("按鈕”); /button按鈕組件 在容器添加組件后,也可以使用container類的remove()方法將這些組件從容器中刪除。例如container remove(new jbutton("按鈕”);下面的實例中實現(xiàn)了jframe對象創(chuàng)建一個窗體,并在其中添加一個組件?!纠吭陧椖恐袆?chuàng)建exampl
5、el類,該類繼承jframe類成為窗體類,在該類中創(chuàng)建標(biāo)簽組件,并添加到窗體界面中。import java.awt.color;import java.awt.container;import javax.swing.jframe;import javax.swing.jlabel;import javax.swing.swingconstants;import javax.swing.windowconstants;public class example1 extends jframe /定義一個類繼承jframe類public example1(string titile) /定義一個構(gòu)
6、造方法,構(gòu)造一個窗體。jframe jf = new jframe(titile);/實例化一個jframe對象container container = jf.getcontentpane();/獲取一個容器jlabel jl = new jlabel("這是一個jframe窗體");/實例化一個jlabel對象/使標(biāo)簽上的文字居中jl.sethorizontalalignment(swingconstants.center);container.add(jl); /將標(biāo)簽添加到容器中container.setbackground(color.white);/設(shè)置容器的背
7、景顏色jf.setvisible(true);/設(shè)置窗體可視jf.setsize(400, 400);/設(shè)置窗體大小/設(shè)置窗體關(guān)閉方式j(luò)f.setdefaultcloseoperation(windowconstants.exit_on_close);public static void main(string args) /在主方法中構(gòu)造一個窗體new example1("創(chuàng)建一個jframe窗體");傳播優(yōu)秀word版文檔 ,希望對您有幫助,可雙擊去除!運行本實例程序,結(jié)果如圖所示。 在例中,exatplel類繼承了jframe類,在example1(string ti
8、tile)方法中實例化jfrmne對象。jframe類的常用構(gòu)造方法包括以下兩種形式 public jframe()。 public jframe(string title). jframe類中的兩種構(gòu)造方法分別為無參的構(gòu)造方法與有參的構(gòu)造方法,第1種形式的構(gòu)造方法可以創(chuàng)建一個初始不可見、沒有標(biāo)題的新窗體;第2種形式的構(gòu)造方法在實例化該jframe對象時可以創(chuàng)建一個不可見但具有標(biāo)題的窗體。可以使用jfrme對像調(diào)用show()方法使窗體可見,但是該方法早已被新版jdk所棄用,通常使用setvisible(true)方法使窗體可見。 同時可以使用setsize(int x,int y)方法設(shè)置窗
9、體大小,其中x與y變量分別代表窗體的寬與高。 創(chuàng)建窗體后,需要給予窗體一個關(guān)閉方式,可以調(diào)用setdefaultcloseoperation()方法關(guān)閉窗體。java為窗體關(guān)閉提供了多種方式,常用的有以下4種傳播優(yōu)秀word版文檔 ,希望對您有幫助,可雙擊去除! 1、do_nothing_on_close。 2、dispose_on_close。 3、hide_on_close。 4、extt_on_close。第1種窗體退出方式代表什么都不做就將窗體關(guān)閉;第2種退出方式則代表任何注冊監(jiān)聽程序?qū)ο蠛髸詣与[藏并釋放窗體;第3種方式表示隱藏窗口的默認(rèn)窗口關(guān)閉;第4種退出方式表示退出應(yīng)用程序默認(rèn)窗
10、口關(guān)閉。 2、jdialog窗體 jdialog窗體是swing組件中的對話框,它繼承了awt組件java.awtdialog類。 jdialog窗體的功能是從一個窗體中彈出另一個窗體,就像是在使用ie瀏覽器時彈出的確定對話框一樣。jdialog窗體實質(zhì)上就是另一種類型的窗體,它與jframe窗體類似,在使用時也需要調(diào)用getcontentpane()方法將窗體轉(zhuǎn)換為容器,然后在容器中設(shè)置窗體的特性。 在應(yīng)用程序中創(chuàng)建jdialog窗體需要實例化jdialog類,通常使用以下幾個jdialog類的構(gòu)造方法。 public jdialog():創(chuàng)建一個沒有標(biāo)題和父窗體的對話框。 public j
11、dialog(frame f): 創(chuàng)建一個指定父窗體的對話框,但該窗體沒有標(biāo)題。 public jdialog(frame f,boolean model):創(chuàng)建一個指定類型的對話框,并指定父窗體,但該窗體沒有指定標(biāo)題。傳播優(yōu)秀word版文檔 ,希望對您有幫助,可雙擊去除! public jdialog(frame f,string title):創(chuàng)建一個指定標(biāo)題和父窗體的對話框。 public jdialog(frame f string titleboolean model):創(chuàng)建一個指定標(biāo)題、窗體和模式的對話框。下面來看一個實例,該實例主要實現(xiàn)單擊jfrme窗體中的按鈕后,彈出一個對話框
12、窗體?!纠吭陧椖恐袆?chuàng)建myjdialog類,該類繼承jdialog窗體,并在窗口中添加按鈕,當(dāng)用戶點擊該按鈕后,將彈出一個對話框窗體。本實例代碼如下:import java.awt.container;import java.awt.event.actionevent;import java.awt.event.actionlistener;import javax.swing.jbutton;import javax.swing.jdialog;import javax.swing.jframe;import javax.swing.jlabel;import javax.swing.sw
13、ingconstants;public class myframe extends jframepublic myframe()container container = getcontentpane();/創(chuàng)建一個容器container.setlayout(null);jlabel jl = new jlabel("這是一個jframe窗體");/在窗體中設(shè)置標(biāo)簽/使標(biāo)簽上的文字居中jl.sethorizontalalignment(swingconstants.center);container.add(jl);jbutton bl = new jbutton(&quo
14、t;彈出對話框");/實例化一個按鈕bl.setbounds(10, 10, 100, 21);container.add(bl); /將按鈕添加到容器中setsize(400,400); /設(shè)置窗體的大小bl.addactionlistener(new actionlistener()/為按鈕添加鼠標(biāo)點擊事件 overridepublic void actionperformed(actionevent e) 傳播優(yōu)秀word版文檔 ,希望對您有幫助,可雙擊去除!/使mydialog窗體可見new mydialog(myframe.this).setvisible(true););
15、public static void main(string args) new myframe().setvisible(true);class mydialog extends jdialogpublic mydialog(myframe frame) /實例化一個jdialog對象,指定對話框的父窗體、窗體標(biāo)題和類型super(frame ,"第一個dialog窗體",true);container container = getcontentpane();/創(chuàng)建一個容器container.add(new jlabel("這是一個對話框");/在容
16、器中添加標(biāo)簽setbounds(120,120,100,100);/設(shè)置對話框的大小運行本實例,結(jié)果如圖所示。 在本實例中,為了使對話框在父窗體彈出,定義了一個jframe窗體,首先在該窗體中定義一個按鈕,然后為此按鈕添加一個鼠標(biāo)單擊監(jiān)聽事件,這里使用new myjdialog().setvisible(true)語句使對話框窗體可見,這樣就實現(xiàn)了用戶單擊該按鈕后彈出對話框的功能。 在myjdialog類中,由于它繼承了jdialog類,所以可以在構(gòu)造方法中使用super關(guān)鍵字調(diào)用jdialog構(gòu)造方法。在這里使用了 public傳播優(yōu)秀word版文檔 ,希望對您有幫助,可雙擊去除!
17、 jdialog(frame f,string title, boolean model)這種形式的構(gòu)造方法,相應(yīng)地設(shè)置了自定義的jframe窗體以及對話框的標(biāo)題和窗體類型。 本實例代碼中可以看到,jdialog窗體與jframe窗體形式基本相同,甚至在設(shè)置窗體的特性時調(diào)用的方法名稱都基本相同,如設(shè)置窗體大小、窗體關(guān)閉狀態(tài)等。 計算器package com.rakey.ui;傳播優(yōu)秀word版文檔 ,希望對您有幫助,可雙擊去除!import java.awt.color;import java.awt.container
18、;import java.awt.font;import java.awt.event.actionevent;import java.awt.event.actionlistener;import javax.swing.jbutton;import javax.swing.jframe;import javax.swing.jtextfield;import javax.swing.windowconstants;public class ui private jbutton clear;/ 清除按鈕(ac)private jbutton backspace;/ 退格鍵private jb
19、utton zhengfuhao;/ +/-鍵private jbutton chuhao;/ 除號private jbutton b_7;/ 按鍵7private jbutton b_8;/ 按鍵8private jbutton b_9;/ 按鍵7private jbutton b_cheng;/ 乘號鍵private jbutton b_4;/ 按鍵4private jbutton b_5;/ 按鍵5傳播優(yōu)秀word版文檔 ,希望對您有幫助,可雙擊去除!private jbutton b_6;/ 按鍵6private jbutton b_jian;/ 減號鍵private jbutton
20、b_1;/ 按鍵1private jbutton b_2;/ 按鍵2private jbutton b_3;/ 按鍵3private jbutton b_jia;/ 加號鍵private jbutton b_0; / 按鍵0private jbutton b_dian;/ 按鍵.private jbutton b_deng;/ 按鍵=private jtextfield display;public string integer;public ui() / 1:新建一個jframe對象為jfjframe jf = new jframe("計算器");/ 2:設(shè)置布局jf.s
21、etlayout(null);/ 3:得到一個容器containercontainer container = jf.getcontentpane();/ 改變?nèi)萜?container)的背景顏色container.setbackground(color.yellow);/ 新建一個jtextfield對象傳播優(yōu)秀word版文檔 ,希望對您有幫助,可雙擊去除!display = new jtextfield("0");/ 設(shè)置jtextfield在container當(dāng)中的位置和jtextfield的寬度,高度display.setbounds(10, 10, 310, 10
22、0);/ 設(shè)置字體的大小和字體display.setfont(new font("楷體", font.bold, 40);/ 設(shè)置字體的顏色display.setforeground(new color(255, 0, 0);/ 設(shè)置字體的顯示位置(從最右邊開始顯示)display.sethorizontalalignment(jtextfield.right);/ 把jtextfield放到container容器當(dāng)中container.add(display);/ 新建一個jbutton對象clear = new jbutton("ac");/ 設(shè)置j
23、button在container當(dāng)中的位置和jbutton的寬度,高度clear.setbounds(10, 115, 70, 40);/ 把jbutton放到container容器當(dāng)中container.add(clear);clear.addactionlistener(new click();/ 新建一個jbutton對象backspace = new jbutton("");傳播優(yōu)秀word版文檔 ,希望對您有幫助,可雙擊去除!/ 設(shè)置jbutton在container當(dāng)中的位置和jbutton的寬度,高度backspace.setbounds(90, 115, 7
24、0, 40);/ 把jbutton放到container容器當(dāng)中container.add(backspace);backspace.addactionlistener(new click();/ 新建一個jbutton對象zhengfuhao = new jbutton("+/-");/ 設(shè)置jbutton在container當(dāng)中的位置和jbutton的寬度,高度zhengfuhao.setbounds(170, 115, 70, 40);/ 把jbutton放到container容器當(dāng)中container.add(zhengfuhao);zhengfuhao.addac
25、tionlistener(new click();/ 新建一個jbutton對象chuhao = new jbutton("÷");/ 設(shè)置jbutton在container當(dāng)中的位置和jbutton的寬度,高度chuhao.setbounds(250, 115, 70, 40);/ 把jbutton放到container容器當(dāng)中container.add(chuhao);chuhao.addactionlistener(new click();/ 新建一個jbutton對象傳播優(yōu)秀word版文檔 ,希望對您有幫助,可雙擊去除!b_7 = new jbutton(
26、"7");/ 設(shè)置jbutton在container當(dāng)中的位置和jbutton的寬度,高度b_7.setbounds(10, 165, 70, 40);/ 把jbutton放到container容器當(dāng)中container.add(b_7);b_7.addactionlistener(new click();/ 新建一個jbutton對象b_8 = new jbutton("8");/ 設(shè)置jbutton在container當(dāng)中的位置和jbutton的寬度,高度b_8.setbounds(90, 165, 70, 40);/ 把jbutton放到conta
27、iner容器當(dāng)中container.add(b_8);b_8.addactionlistener(new click();/ 新建一個jbutton對象b_9 = new jbutton("9");/ 設(shè)置jbutton在container當(dāng)中的位置和jbutton的寬度,高度b_9.setbounds(170, 165, 70, 40);/ 把jbutton放到container容器當(dāng)中container.add(b_9);b_9.addactionlistener(new click();/ 新建一個jbutton對象傳播優(yōu)秀word版文檔 ,希望對您有幫助,可雙擊去除
28、!b_cheng = new jbutton("×");/ 設(shè)置jbutton在container當(dāng)中的位置和jbutton的寬度,高度b_cheng.setbounds(250, 165, 70, 40);/ 把jbutton放到container容器當(dāng)中container.add(b_cheng);b_cheng.addactionlistener(new click();/ 新建一個jbutton對象b_4 = new jbutton("4");/ 設(shè)置jbutton在container當(dāng)中的位置和jbutton的寬度,高度b_4.set
29、bounds(10, 215, 70, 40);/ 把jbutton放到container容器當(dāng)中container.add(b_4);b_4.addactionlistener(new click();/ 新建一個jbutton對象b_5 = new jbutton("5");/ 設(shè)置jbutton在container當(dāng)中的位置和jbutton的寬度,高度b_5.setbounds(90, 215, 70, 40);/ 把jbutton放到container容器當(dāng)中container.add(b_5);b_5.addactionlistener(new click();傳
30、播優(yōu)秀word版文檔 ,希望對您有幫助,可雙擊去除!/ 新建一個jbutton對象b_6 = new jbutton("6");/ 設(shè)置jbutton在container當(dāng)中的位置和jbutton的寬度,高度b_6.setbounds(170, 215, 70, 40);/ 把jbutton放到container容器當(dāng)中container.add(b_6);b_6.addactionlistener(new click();/ 新建一個jbutton對象b_jian = new jbutton("");/ 設(shè)置jbutton在container當(dāng)中的位置
31、和jbutton的寬度,高度b_jian.setbounds(250, 215, 70, 40);/ 把jbutton放到container容器當(dāng)中container.add(b_jian);b_jian.addactionlistener(new click();/ 新建一個jbutton對象b_1 = new jbutton("1");/ 設(shè)置jbutton在container當(dāng)中的位置和jbutton的寬度,高度b_1.setbounds(10, 265, 70, 40);/ 把jbutton放到container容器當(dāng)中container.add(b_1);b_1.
32、addactionlistener(new click();傳播優(yōu)秀word版文檔 ,希望對您有幫助,可雙擊去除!/ 新建一個jbutton對象b_2 = new jbutton("2");/ 設(shè)置jbutton在container當(dāng)中的位置和jbutton的寬度,高度b_2.setbounds(90, 265, 70, 40);/ 把jbutton放到container容器當(dāng)中container.add(b_2);b_2.addactionlistener(new click();/ 新建一個jbutton對象b_3 = new jbutton("3"
33、);/ 設(shè)置jbutton在container當(dāng)中的位置和jbutton的寬度,高度b_3.setbounds(170, 265, 70, 40);/ 把jbutton放到container容器當(dāng)中container.add(b_3);b_3.addactionlistener(new click();/ 新建一個jbutton對象b_jia = new jbutton("");/ 設(shè)置jbutton在container當(dāng)中的位置和jbutton的寬度,高度b_jia.setbounds(250, 265, 70, 40);/ 把jbutton放到container容器當(dāng)中
34、container.add(b_jia);傳播優(yōu)秀word版文檔 ,希望對您有幫助,可雙擊去除!b_jia.addactionlistener(new click();/ 新建一個jbutton對象b_0 = new jbutton("0");/ 設(shè)置jbutton在container當(dāng)中的位置和jbutton的寬度,高度b_0.setbounds(10, 315, 150, 40);/ 把jbutton放到container容器當(dāng)中container.add(b_0);b_0.addactionlistener(new click();/ 新建一個jbutton對象b_d
35、ian = new jbutton(".");/ 設(shè)置jbutton在container當(dāng)中的位置和jbutton的寬度,高度b_dian.setbounds(170, 315, 70, 40);/ 把jbutton放到container容器當(dāng)中container.add(b_dian);b_dian.addactionlistener(new click();/ 新建一個jbutton對象b_deng = new jbutton("=");/ 設(shè)置jbutton在container當(dāng)中的位置和jbutton的寬度,高度b_deng.setbounds(
36、250, 315, 70, 40);/ 把jbutton放到container容器當(dāng)中container.add(b_deng);傳播優(yōu)秀word版文檔 ,希望對您有幫助,可雙擊去除!b_deng.addactionlistener(new click();/ 使該窗體可見(false:不可見,true:可見)jf.setvisible(true);/ 設(shè)置窗體的大小jf.setsize(345, 400);/ 關(guān)閉窗體jf.setdefaultcloseoperation(windowconstants.exit_on_close);string shu_1 = "0"/
37、 保存輸入數(shù)據(jù)string shu_2 = "0"/ 保存輸入數(shù)據(jù)string fuhao = "0"/ 存放計算符號/* * 類名:click * 功能:監(jiān)聽各個按鍵是否按下,處理各個按鍵 按下的內(nèi)容和相關(guān)的功能 * 實現(xiàn):actionlistener接口 * 作者:饒凌云 */class click implements actionlistener overridepublic void actionperformed(actionevent e) 傳播優(yōu)秀word版文檔 ,希望對您有幫助,可雙擊去除!/* 判斷輸入的數(shù)據(jù)是否大于9位,如果大于9位
38、數(shù),就會顯示 "最多輸入9個字符" */if (display.gettext().length() >= 9) display.settext(" ");display.settext("最多輸入9個字符");return;/* 清除按鈕,如果該按鍵按下后,顯示框的內(nèi)容就會清零 */if (e.getsource() = clear) display.settext("0"); else if (e.getsource() = b_1) if (display.gettext().equals("
39、0") display.settext("1");return;display.settext(display.gettext() + "1"); else if (e.getsource() = b_2) / display.settext("2");if (display.gettext().equals("0") display.settext("2");return;傳播優(yōu)秀word版文檔 ,希望對您有幫助,可雙擊去除!display.settext(display.gette
40、xt() + "2"); else if (e.getsource() = b_3) if (display.gettext().equals("0") display.settext("3");return;display.settext(display.gettext() + "3"); else if (e.getsource() = b_4) if (display.gettext().equals("4") display.settext("1");return;d
41、isplay.settext(display.gettext() + "4"); else if (e.getsource() = b_5) if (display.gettext().equals("5") display.settext("1");return;display.settext(display.gettext() + "5"); else if (e.getsource() = b_6) 傳播優(yōu)秀word版文檔 ,希望對您有幫助,可雙擊去除!if (display.gettext().equals
42、("6") display.settext("1");return;display.settext(display.gettext() + "6"); else if (e.getsource() = b_7) if (display.gettext().equals("7") display.settext("1");return;display.settext(display.gettext() + "7"); else if (e.getsource() = b_8) if (display.gettext().equals("8") display.settext("1");retur
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《現(xiàn)代交換技術(shù)》全套教學(xué)課件
- 2024年溫嶺東方醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點附帶答案
- 2024年淮南市第六人民醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點附帶答案
- 學(xué)寫文學(xué)短評-以《永遇樂·京口北固亭懷古》為例 說課稿 2024-2025學(xué)年統(tǒng)編版高中語文必修上冊
- 2024年滄源佤族自治縣人民醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點附帶答案
- 企業(yè)新生培訓(xùn)方案
- 《新能源汽車研究》課件
- 外科護(hù)理學(xué)知識點總結(jié)
- 2024年梁平縣人民醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點附帶答案
- 夏季養(yǎng)生及預(yù)防
- (高清版)組合鋁合金模板工程技術(shù)規(guī)程JGJ 386-2016
- 室內(nèi)質(zhì)控品統(tǒng)一征訂單
- 《論語》誦讀計劃
- 2006年工資標(biāo)準(zhǔn)及套改對應(yīng)表
- 中英文對照財務(wù)報表-模板
- 醫(yī)院應(yīng)急預(yù)案匯編-門診突發(fā)事件應(yīng)急預(yù)案
- 市場發(fā)展部崗位職責(zé)
- 配電線路三跨設(shè)計技術(shù)原則
- 《金融風(fēng)險管理》習(xí)題集(.3)
- 應(yīng)急監(jiān)測車購置公開招標(biāo)
- 斜盤式軸向柱塞泵設(shè)計說明書
評論
0/150
提交評論