Java實(shí)現(xiàn)Windows計(jì)算器界面
前一段時(shí)間在學(xué)校簡(jiǎn)單的學(xué)習(xí)了Java,對(duì)Java這門(mén)我第一次接觸的面向?qū)ο笳Z(yǔ)言有了一定的了解。
一直沒(méi)時(shí)間整理寫(xiě)的東西,今天打算整理下上傳下。
Java相對(duì)于C來(lái)說(shuō)比較方便的就是用來(lái)寫(xiě)界面(PS:但其實(shí)Java寫(xiě)的界面也是十分的“有年代感”)
之前學(xué)到寫(xiě)界面時(shí)的練手程序就是這個(gè)計(jì)算器界面
程序其實(shí)比較簡(jiǎn)單,主要就是練習(xí)界面的排布等
界面:
代碼:
import java.awt.*; import javax.swing.*; import java.awt.event.*; public class CalTest extends JFrame { //相關(guān)的二級(jí)容器和控件聲明一下 JTextField showtext;//文本框 JButton bt1; JButton bt2; JButton bt3; JButton bt4;//四個(gè)獨(dú)立的按鈕 JPanel panel1;//面板1(25個(gè)按鈕) JPanel panel2;//面板2(20個(gè)按鈕) JPanel panel3;//面板3(4個(gè)按鈕) JPanel panel4;//三個(gè)單選框 JButton[] bts1;//左邊25個(gè)按鈕的數(shù)組 JButton[] bts2;//右邊20個(gè)按鈕的數(shù)組 JButton[] bts3;//4個(gè)按鈕的數(shù)組 JRadioButton[] bts4;//3個(gè)單選 public CalTest() { init(); } //初始化窗體及控件的方法 private void init() { this.setSize(760,370); this.setLayout(null); this.setVisible(true); showtext=new JTextField(); showtext.setLocation(10, 10); showtext.setSize(720, 50); this.add(showtext); panel1=new JPanel(); panel1.setSize(360, 190); panel1.setLocation(10, 110); panel1.setLayout(new GridLayout(5,5,3,3));//設(shè)置面板1 網(wǎng)格布局,4行1列 bts1=new JButton[25]; String[] strs1={" ","Inv","In","(",")","Int","sinh","sin","x^2","n!","dms","cosh","cos","x^y","y√x","派","tanh","tan","x^3","3√x","F-E","Exp","Mod","log","10^x"}; for(int i=0;i<strs1.length;i++) { bts1[i]=new JButton(strs1[i]); panel1.add(bts1[i]); } this.add(panel1); panel2=new JPanel(); panel2.setSize(260, 190); panel2.setLocation(400, 70); panel2.setLayout(new GridLayout(5,4,3,3));//設(shè)置面板2 網(wǎng)格布局,5行4列 bts2=new JButton[20]; String[] strs2={"MC","MR","MS","M+","←","CE","C","+/","7","8","9","/","4","5","6","*","1","2","3","-"}; for(int i=0;i<strs2.length;i++) { bts2[i]=new JButton(strs2[i]); panel2.add(bts2[i]); } this.add(panel2); panel3=new JPanel(); panel3.setSize(55, 150); panel3.setLocation(675, 70); panel3.setLayout(new GridLayout(4,1,3,3));//設(shè)置面板3 網(wǎng)格布局,4行1列 bts3=new JButton[4]; String[] strs3={"M-","√","%","1/x"}; for(int i=0;i<strs3.length;i++) { bts3[i]=new JButton(strs3[i]); panel3.add(bts3[i]); } this.add(panel3); panel4=new JPanel(); panel4.setSize(50, 50); panel4.setLocation(20, 80); panel4.setLayout(new GridLayout(1,3,3,3));//設(shè)置面板3 網(wǎng)格布局,4行1列 bts4=new JRadioButton[3]; String[] strs4={"度","弧度","梯度"}; for(int i=0;i<strs4.length;i++) { bts4[i]=(JRadioButton) new JRadioButton(strs4[i]); panel4.add(bts4[i]); } this.add(panel4); bt1=new JButton("0"); bt1.setSize(127, 35); bt1.setLocation(400,263); this.add(bt1); bt2=new JButton("."); bt2.setSize(62, 35); bt2.setLocation(530,263); this.add(bt2); bt3=new JButton("+"); bt3.setSize(62, 35); bt3.setLocation(595,263); this.add(bt3); bt4=new JButton("="); bt4.setSize(55, 75); bt4.setLocation(675,223); this.add(bt4); } } public class Test { public static void main(String[] args) { CalTest cal=new CalTest(); } }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Java簡(jiǎn)易計(jì)算器程序設(shè)計(jì)
- java實(shí)現(xiàn)簡(jiǎn)易計(jì)算器功能
- java模仿windows計(jì)算器示例
- Java swing實(shí)現(xiàn)的計(jì)算器功能完整實(shí)例
- java圖形界面AWT編寫(xiě)計(jì)算器
- Java實(shí)現(xiàn)計(jì)算器的代碼
- 使用jsp調(diào)用javabean實(shí)現(xiàn)超簡(jiǎn)單網(wǎng)頁(yè)計(jì)算器示例
- java 簡(jiǎn)單的計(jì)算器程序?qū)嵗a
- java實(shí)現(xiàn)簡(jiǎn)單的計(jì)算器類(lèi)實(shí)例
- java按鈕控件數(shù)組實(shí)現(xiàn)計(jì)算器界面示例分享
相關(guān)文章
java組件commons-fileupload實(shí)現(xiàn)文件上傳
這篇文章主要介紹了java借助commons-fileupload組件實(shí)現(xiàn)文件上傳,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-10-10SpringBoot啟動(dòng)指定profile的多種方式
這篇文章主要介紹了SpringBoot啟動(dòng)指定profile的多種方式,本文通過(guò)圖文實(shí)例相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-09-09Java程序?qū)崿F(xiàn)導(dǎo)出Excel的方法(支持IE低版本)
下面小編就為大家?guī)?lái)一篇Java程序?qū)崿F(xiàn)導(dǎo)出Excel的方法(支持IE低版本)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-07-07Java封裝數(shù)組之改進(jìn)為泛型數(shù)組操作詳解
這篇文章主要介紹了Java封裝數(shù)組之改進(jìn)為泛型數(shù)組操作,結(jié)合實(shí)例形式詳細(xì)分析了Java封裝數(shù)組為泛型數(shù)組相關(guān)原理、操作技巧與注意事項(xiàng),需要的朋友可以參考下2020-03-03elasticsearch中term與match的區(qū)別講解
今天小編就為大家分享一篇關(guān)于elasticsearch中term與match的區(qū)別講解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-02-02@valid 無(wú)法觸發(fā)BindingResult的解決
這篇文章主要介紹了@valid 無(wú)法觸發(fā)BindingResult的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12spring-Kafka中的@KafkaListener深入源碼解讀
本文主要通過(guò)深入了解源碼,梳理從spring啟動(dòng)到真正監(jiān)聽(tīng)kafka消息的這套流程,從spring啟動(dòng)開(kāi)始處理@KafkaListener,本文結(jié)合實(shí)例流程圖給大家講解的非常詳細(xì),需要的朋友參考下2023-02-02