日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

java實(shí)現(xiàn)圖形化界面計(jì)算器

瀏覽:93日期:2022-09-01 14:33:07

本文實(shí)例為大家分享了java實(shí)現(xiàn)圖形化界面計(jì)算器的具體代碼,供大家參考,具體內(nèi)容如下

最終效果圖:

java實(shí)現(xiàn)圖形化界面計(jì)算器

項(xiàng)目流程:

第一步:實(shí)現(xiàn)圖形化界面(添加計(jì)算器的 Button 和 用于顯示輸入數(shù)字、輸出結(jié)果的JTextField等)

java實(shí)現(xiàn)圖形化界面計(jì)算器

第二步:給按鈕和文本框添加鼠標(biāo)監(jiān)聽(tīng)事件。

第三步:實(shí)現(xiàn)加減乘除、開(kāi)方、平方、清零和退格功能。

開(kāi)方運(yùn)算:

java實(shí)現(xiàn)圖形化界面計(jì)算器

平方運(yùn)算:

java實(shí)現(xiàn)圖形化界面計(jì)算器

加法運(yùn)算:

java實(shí)現(xiàn)圖形化界面計(jì)算器

java實(shí)現(xiàn)圖形化界面計(jì)算器

減法運(yùn)算:

java實(shí)現(xiàn)圖形化界面計(jì)算器

java實(shí)現(xiàn)圖形化界面計(jì)算器

乘法運(yùn)算:

java實(shí)現(xiàn)圖形化界面計(jì)算器

java實(shí)現(xiàn)圖形化界面計(jì)算器

除法運(yùn)算:

java實(shí)現(xiàn)圖形化界面計(jì)算器

java實(shí)現(xiàn)圖形化界面計(jì)算器

完整項(xiàng)目代碼:

package First_App;import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Caculator extends JFrame{ /* * 圖形化界面設(shè)計(jì) * */ private static final long serialVersionUID = 4907149509182425824L; public Caculator(){ Container c = getContentPane(); //定義一個(gè)頂級(jí)容器c setLayout(new GridLayout(2,1));//新建網(wǎng)格布局管理器,2行1列 JTextField jtf = new JTextField('0',40);//構(gòu)造一個(gè)用指定文本和列初始化的新文本框--jtf jtf.setHorizontalAlignment(JTextField.RIGHT);//設(shè)置水平對(duì)齊方式:居右對(duì)齊 JButton data0 = new JButton('0'); JButton data1 = new JButton('1'); JButton data2 = new JButton('2'); JButton data3 = new JButton('3'); JButton data4 = new JButton('4'); JButton data5 = new JButton('5'); JButton data6 = new JButton('6'); JButton data7 = new JButton('7'); JButton data8 = new JButton('8'); JButton data9 = new JButton('9'); JButton point = new JButton('.'); JButton equ = new JButton('='); JButton plus = new JButton('+'); JButton minus = new JButton('-'); JButton mtp = new JButton('*'); JButton dvd = new JButton('/'); JButton sqr = new JButton('sqrt'); JButton root = new JButton('x^2'); JButton tg = new JButton('退格'); JButton ql = new JButton('清零'); JPanel jp = new JPanel(); //新建JPanel面板--jp jp.setLayout(new GridLayout(4,5,5,5));//新建網(wǎng)格布局管理器(行數(shù),列數(shù),組件間的水平垂直間距) jp.add(data7); jp.add(data8); jp.add(data9); jp.add(plus); jp.add(sqr); jp.add(data4); jp.add(data5); jp.add(data6); jp.add(minus); jp.add(root); jp.add(data1); jp.add(data2); jp.add(data3); jp.add(mtp); jp.add(ql); jp.add(data0); jp.add(point); jp.add(equ); jp.add(dvd); jp.add(tg); c.add(jtf);//將文本框jtf添加到頂級(jí)容器c中 c.add(jp);//將JPanel面板jp添加到頂級(jí)容器c中 setSize(400,300); setTitle('計(jì)算器'); setVisible(true); setResizable(false);//窗體大小由程序員決定,用戶不能自由改變大小 setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); /* * ********************************************************* * 相關(guān)計(jì)算功能的實(shí)現(xiàn) * ********************************************************* * */ data0.addActionListener(new ActionListener(){//數(shù)字0的輸入 public void actionPerformed(ActionEvent arg0){ if(jtf.getText().equals('0')){//將按鈕值與0作比較 jtf.requestFocus();//把輸入焦點(diǎn)放在調(diào)用這個(gè)方法的控件上(即把光標(biāo)放在文本框jtf里) } else{ String str = jtf.getText();//取得當(dāng)前按鈕的按鈕值 jtf.setText(str+'0'); //將文本內(nèi)容后加上字符0 } } }); data1.addActionListener(new ActionListener(){//數(shù)字1的輸入 public void actionPerformed(ActionEvent arg0){ if(jtf.getText().equals('0')){//將按鈕值與0作比較 jtf.setText('');//將文本框初始化為空 jtf.setText('1');//將文本框內(nèi)容置為 1 jtf.requestFocus();//把輸入焦點(diǎn)放在調(diào)用這個(gè)方法的控件上(即把光標(biāo)放在文本框jtf里) } else{ String str = jtf.getText();//取得當(dāng)前按鈕的按鈕值 jtf.setText(str+'1'); //將文本內(nèi)容后加上字符1 } } }); data2.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent arg0){ if(jtf.getText().equals('0')){ jtf.setText(''); jtf.setText('2'); jtf.requestFocus(); } else{ String str = jtf.getText(); jtf.setText(str+'2'); } } }); data3.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent arg0){ if(jtf.getText().equals('0')){ jtf.setText(''); jtf.setText('3'); jtf.requestFocus(); } else{ String str = jtf.getText(); jtf.setText(str+'3'); } } }); data4.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent arg0){ if(jtf.getText().equals('0')){ jtf.setText(''); jtf.setText('4'); jtf.requestFocus(); } else{ String str = jtf.getText(); jtf.setText(str+'4'); } } }); data5.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent arg0){ if(jtf.getText().equals('0')){ jtf.setText(''); jtf.setText('5'); jtf.requestFocus(); } else{ String str = jtf.getText(); jtf.setText(str+'5'); } } }); data6.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent arg0){ if(jtf.getText().equals('0')){ jtf.setText(''); jtf.setText('6'); jtf.requestFocus(); } else{ String str = jtf.getText(); jtf.setText(str+'6'); } } }); data7.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent arg0){ if(jtf.getText().equals('0')){ jtf.setText(''); jtf.setText('7'); jtf.requestFocus(); } else{ String str = jtf.getText(); jtf.setText(str+'7'); } } }); data8.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent arg0){ if(jtf.getText().equals('0')){ jtf.setText(''); jtf.setText('8'); jtf.requestFocus(); } else{ String str = jtf.getText(); jtf.setText(str+'8'); } } }); data9.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent arg0){ if(jtf.getText().equals('0')){ jtf.setText(''); jtf.setText('9'); jtf.requestFocus(); } else{ String str = jtf.getText(); jtf.setText(str+'9'); } } }); point.addActionListener(new ActionListener(){ //點(diǎn)號(hào)的輸入 public void actionPerformed(ActionEvent arg0){ if(jtf.getText().equals('0')){ jtf.setText(''); jtf.setText('.'); jtf.requestFocus(); } else{ String str = jtf.getText(); jtf.setText(str+'.'); } } }); plus.addActionListener(new ActionListener(){ //+號(hào)的輸入 public void actionPerformed(ActionEvent arg0){ if(jtf.getText().equals('0')){ jtf.setText(''); jtf.setText('+'); jtf.requestFocus(); } else{ String str = jtf.getText(); jtf.setText(str+'+'); } } }); minus.addActionListener(new ActionListener(){ //-號(hào)的輸入 public void actionPerformed(ActionEvent arg0){ if(jtf.getText().equals('0')){ jtf.setText(''); jtf.setText('-'); jtf.requestFocus(); } else{ String str = jtf.getText(); jtf.setText(str+'-'); } } }); mtp.addActionListener(new ActionListener(){ //*號(hào)的輸入 public void actionPerformed(ActionEvent arg0){ if(jtf.getText().equals('0')){ jtf.setText(''); jtf.setText('*'); jtf.requestFocus(); } else{ String str = jtf.getText(); jtf.setText(str+'*'); } } }); dvd.addActionListener(new ActionListener(){ //除號(hào)的輸入 public void actionPerformed(ActionEvent arg0){ if(jtf.getText().equals('0')){ jtf.setText(''); jtf.setText('/'); jtf.requestFocus(); } else{ String str = jtf.getText(); jtf.setText(str+'/'); } } }); //【**退格功能如下**】 tg.addActionListener(new ActionListener(){//監(jiān)聽(tīng)退格鍵 public void actionPerformed(ActionEvent arg0){//處理退格鍵被按下的事件 String text = jtf.getText(); int i = text.length(); if(i>0){ text = text.substring(0,i-1);//去掉最后一個(gè)字符 if (text.length() == 0) {// 如果文本沒(méi)有了內(nèi)容,則初始化計(jì)算器的各種值 jtf.setText('0'); } else { // 顯示新的文本 jtf.setText(text); } } } }); //【**清零功能如下**】 ql.addActionListener(new ActionListener(){//監(jiān)聽(tīng)清零鍵 public void actionPerformed(ActionEvent e) { jtf.setText('0');//將文本框置為0(清零功能) } }); //【**平方功能如下**】 root.addActionListener(new ActionListener(){//監(jiān)聽(tīng)root鍵 public void actionPerformed(ActionEvent e){//root鍵被按事件 String i = jtf.getText(); Double j = Double.parseDouble(i);//將字符串i轉(zhuǎn)換成對(duì)應(yīng)的double類(lèi)型的數(shù)值 double ans = j*j; //求平方 String answer =String.valueOf(ans);//將int型數(shù)據(jù)轉(zhuǎn)換成String類(lèi)型 jtf.setText(answer);//將文本框設(shè)置為平方后的結(jié)果 } }); //【**開(kāi)方功能如下**】 sqr.addActionListener(new ActionListener(){//監(jiān)聽(tīng)sqrt鍵 public void actionPerformed(ActionEvent e){//sqrt鍵被按事件 String i = jtf.getText(); Double j = Double.parseDouble(i);//將字符串轉(zhuǎn)換成對(duì)應(yīng)的double類(lèi)型的數(shù)值 double ans = (double)Math.sqrt(j);//求開(kāi)方 String answer = String.valueOf(ans);//將double型數(shù)據(jù)轉(zhuǎn)換成String類(lèi)型 jtf.setText(answer);//將文本框設(shè)置為開(kāi)方后的結(jié)果 } }); //【等號(hào)實(shí)現(xiàn) 加減乘除 功能】 equ.addActionListener(new ActionListener(){ //監(jiān)聽(tīng) “等號(hào)” 按鍵 public void actionPerformed(ActionEvent arg0){//處理“等號(hào)” 按鍵被按下事件 //【**加法運(yùn)算**】 if(jtf.getText().indexOf('+')!= -1){ //將字符串分割為子字符串,然后將結(jié)果作為字符串?dāng)?shù)組返回 String[] s = jtf.getText().split('[+]');//轉(zhuǎn)義字符,要用'[+]'或者'+' Double d1 = Double.parseDouble(s[0]);//返回一個(gè)指定字符串表示的double值 Double d2 = Double.parseDouble(s[1]); double ans = d1 + d2; String answer = String.valueOf(ans);//將結(jié)果轉(zhuǎn)換為字符串 jtf.setText(answer);//將加法運(yùn)算的結(jié)果以字符串形式在文本框中顯示 } //【**減法運(yùn)算**】 else if(jtf.getText().indexOf('-')!= -1){ String[] s = jtf.getText().split('-'); jtf.setText(''); Double d1 = Double.parseDouble(s[0]); Double d2 = Double.parseDouble(s[1]); double ans = d1-d2; String answer =String.valueOf(ans); jtf.setText(answer); } //【**乘法運(yùn)算**】 else if(jtf.getText().indexOf('*')!= -1){ String[] s = jtf.getText().split('[*]');//*是轉(zhuǎn)義字符,要用'[*]',或者'*' jtf.setText(''); Double d1 = Double.parseDouble(s[0]); Double d2 = Double.parseDouble(s[1]); double ans = d1*d2; String answer =String.valueOf(ans); jtf.setText(answer); } //【**除法運(yùn)算**】 else if(jtf.getText().indexOf('/')!= -1){ String[] s = jtf.getText().split('/'); jtf.setText(''); Double d1 = Double.parseDouble(s[0]); Double d2 = Double.parseDouble(s[1]); double ans = d1/d2; String answer =String.valueOf(ans); jtf.setText(answer); } else{ jtf.setText('請(qǐng)選擇要進(jìn)行的運(yùn)算'); } } }); } public static void main(String[] args) { new Caculator(); }}

總結(jié):

1.掌握基本的GUI添加按鈕、文本框的方法 2.掌握字符串的處理,這里用到了indexOf()、split()等方法 3.注意Java中遇到的轉(zhuǎn)義字符。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Java
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
福利在线一区| 91综合网人人| 亚洲特色特黄| 中文av在线全新| а√在线中文在线新版| 久久99偷拍| 麻豆久久久久久| 久久精品一区| 国产91在线精品| 天堂av在线| 久久精品国语| 欧美另类专区| 国产色综合网| 国产精品婷婷| 亚洲综合小说| 日韩福利在线观看| 国产精品大片免费观看| 精品视频国内| 波多视频一区| 亚洲五月婷婷| 亚洲欧洲日韩精品在线| 国产精品一线| 国产成人精品一区二区免费看京 | 欧美精品日日操| 日韩精品永久网址| 亚洲高清二区| 只有精品亚洲| 欧美成人精品一级| 亚洲欧洲高清| 国产视频亚洲| 国产精品qvod| 激情欧美丁香| 日韩中文字幕视频网| 麻豆高清免费国产一区| 久久裸体视频| 亚洲精品黄色| 97成人在线| 黄毛片在线观看| 亚洲欧美日本日韩| 国产精品任我爽爆在线播放 | 亚洲欧美日韩精品一区二区 | 中文一区一区三区免费在线观 | 97精品在线| 免费成人网www| 亚洲2区在线| 精品久久在线| 男人天堂欧美日韩| 国产精品成人一区二区网站软件| 福利在线一区| 在线精品一区| 日韩av在线中文字幕| 妖精视频成人观看www| 日韩午夜视频在线| 久久麻豆视频| 红桃视频亚洲| 麻豆精品在线视频| 伊人成人网在线看| 久久av偷拍| 亚洲欧美日韩专区| 国产在线一区不卡| 亚洲精品高潮| 高清在线一区| 日韩精品一区二区三区中文在线| 国产激情在线播放| 免费看精品久久片| 精品丝袜久久| 日韩一区精品视频| 国产精品久久久久久久久久白浆| 青青久久av| 欧美一级网站| 免费av一区| 久久精品亚洲| 中文字幕日本一区| 日韩毛片视频| 国产色99精品9i| 日韩一级网站| 日韩精品永久网址| 欧美日韩精品一区二区三区视频 | 久久狠狠亚洲综合| 亚洲国产专区| 国产激情综合| 亚洲另类视频| 不卡在线一区二区| 精品久久久久中文字幕小说| 天堂va在线高清一区| 亚洲一本视频| 成人一区不卡| 欧美日韩一区二区国产| 黄色成人精品网站| 麻豆理论在线观看| 国产精品4hu.www| 免费人成黄页网站在线一区二区| 日韩毛片视频| 精品一区二区三区免费看| 日韩一区二区三区四区五区| 99成人在线| 久久一区二区三区电影| 日本一区二区免费高清| 欧美黑人做爰爽爽爽| 日韩欧美激情| 久久福利一区| 日韩一级不卡| 亚洲美洲欧洲综合国产一区| 亚洲91视频| 久久久精品午夜少妇| 92国产精品| 国产在线观看91一区二区三区| 欧美日韩亚洲一区在线观看| 综合一区av| 日韩中文字幕不卡| 亚洲综合欧美| 宅男噜噜噜66国产日韩在线观看| 久久黄色影院| 久久一区二区三区电影| 久久久久久久久久久9不雅视频| 日韩黄色大片| 久久久久99| 伊人久久大香线蕉av不卡| 久久久精品网| 99久久视频| 亚洲天堂久久| 尹人成人综合网| 国产一区日韩欧美| 国产综合精品| 好吊日精品视频 | 亚洲欧美综合| 狠狠久久婷婷| 亚洲精品1区2区| 香蕉久久久久久久av网站| 精品91久久久久| 亚洲男女自偷自拍| 亚洲欧美专区| 日韩av二区在线播放| 日本天堂一区| 久久av网站| 精品不卡一区| 美女福利一区二区三区| 久久中文亚洲字幕| 在线亚洲一区| 日韩高清一区| 久久99久久久精品欧美| 久久精品国产在热久久| 成人国产精品| 久久精品国产www456c0m| 日韩午夜av在线| 日韩和欧美一区二区| 麻豆国产欧美一区二区三区 | 首页国产精品| 久久久一本精品| 欧美一级精品| 玖玖玖国产精品| 欧美一级全黄| 国产高潮在线| 亚洲男女av一区二区| 日韩在线一二三区| 国产精品尤物| 久久国产日韩| 亚洲精品一二| 国产成人精选| 国产毛片久久| 国产精品调教视频| 国产超碰精品| 一区二区亚洲视频| 国产精品免费99久久久| 欧美韩日一区| 中文久久精品| 久久成人av| 婷婷丁香综合| 日本国产亚洲| 久久男人av资源站| 亚洲一区久久| 国产精品成人一区二区网站软件| av资源亚洲| 亚洲一区二区日韩| 精品国产一区二区三区av片| 女人天堂亚洲aⅴ在线观看| 日韩高清一区二区| 国产精品字幕| 日韩精品导航| 福利精品在线| 久久一二三区| 91偷拍一区二区三区精品| 99xxxx成人网| 欧美国产极品| 欧美在线资源| 久久99影视| 亚洲一区二区三区四区五区午夜 | 久久亚洲在线| 日韩激情网站| 久久国产毛片| 国产欧美在线| 欧美精品一线| 国内精品伊人| 亚洲人成在线影院| 久久天堂精品| 久久精品国产久精国产| 亚洲深深色噜噜狠狠爱网站 | 首页国产精品| 日韩欧美精品一区二区综合视频| av高清一区|