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

您的位置:首頁技術文章
文章詳情頁

java實現圖形化界面計算器

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

本文實例為大家分享了java實現圖形化界面計算器的具體代碼,供大家參考,具體內容如下

最終效果圖:

java實現圖形化界面計算器

項目流程:

第一步:實現圖形化界面(添加計算器的 Button 和 用于顯示輸入數字、輸出結果的JTextField等)

java實現圖形化界面計算器

第二步:給按鈕和文本框添加鼠標監聽事件。

第三步:實現加減乘除、開方、平方、清零和退格功能。

開方運算:

java實現圖形化界面計算器

平方運算:

java實現圖形化界面計算器

加法運算:

java實現圖形化界面計算器

java實現圖形化界面計算器

減法運算:

java實現圖形化界面計算器

java實現圖形化界面計算器

乘法運算:

java實現圖形化界面計算器

java實現圖形化界面計算器

除法運算:

java實現圖形化界面計算器

java實現圖形化界面計算器

完整項目代碼:

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

總結:

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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩av影院| 亚洲精品伊人| 欧美一区二区三区免费看| 国产免费成人| 免费日韩av片| 亚州精品视频| 国产日韩欧美| 久久久天天操| 午夜在线视频观看日韩17c| 国产精品videosex极品| 久久九九电影| 亚洲午夜电影| 日韩国产高清在线| 欧美国产美女| 亲子伦视频一区二区三区| 日韩毛片视频| 新版的欧美在线视频| 色婷婷精品视频| 天堂中文在线播放| 国产精品99久久精品| 激情欧美一区二区三区| 丝袜美腿成人在线| 国产资源在线观看入口av| 欧美日中文字幕| 日本免费一区二区视频| 日本亚洲最大的色成网站www| 日本va欧美va瓶| 色婷婷色综合| 日韩一区二区免费看| 国产精品一区二区免费福利视频| 97精品国产一区二区三区| 亚洲国产成人精品女人| 国语对白精品一区二区| 亚洲成人三区| 日本色综合中文字幕| 91精品亚洲| 日本欧美在线| 欧美一级精品| 久久不见久久见免费视频7| 另类中文字幕国产精品| 久久激情综合网| 激情欧美亚洲| 麻豆网站免费在线观看| 蜜臀91精品一区二区三区| 免费在线欧美黄色| 国产精品啊v在线| 国产综合婷婷| 日本蜜桃在线观看视频| 日韩国产激情| 国产盗摄——sm在线视频| 日本精品不卡| 欧美/亚洲一区| 视频一区中文字幕国产| 五月综合激情| 亚洲三级毛片| 国产中文欧美日韩在线| 欧美日韩一区二区综合| 婷婷五月色综合香五月| 另类国产ts人妖高潮视频| 成人免费电影网址| 国产日韩亚洲| 日韩国产在线不卡视频| 日韩高清欧美激情| 日韩视频一区| japanese国产精品| 精品亚洲成人| 精品视频一区二区三区在线观看 | 日韩不卡一区| 精品亚洲成人| 日韩精品欧美| 国产精品115| 国产日韩欧美三级| 热久久久久久久| 视频一区中文字幕| 日本欧美一区| 久热精品在线| 国产综合激情| 亚洲激情av| 日韩国产欧美一区二区三区| 亚洲视频电影在线| 麻豆视频久久| 精品欧美日韩精品| 影视先锋久久| 欧美亚洲国产激情| 在线亚洲欧美| 免费成人在线观看| 久久亚洲专区| 亚洲精品欧洲| 久久伊人久久| 国产传媒在线观看| 免费久久99精品国产| 久久九九国产| 9久re热视频在线精品| 蜜桃视频免费观看一区| 女生影院久久| 欧洲精品一区二区三区| 久久久免费人体| 国产一区二区三区四区五区传媒| 日韩va亚洲va欧美va久久| 日韩精品一级中文字幕精品视频免费观看 | 美女亚洲一区| 中文字幕高清在线播放| 男女激情视频一区| 麻豆久久久久久| 麻豆成人在线| 在线亚洲激情| 99成人在线| 亚洲一卡久久| 蜜桃精品在线| 日韩在线免费| 亚洲综合电影| 国产精品久久观看| 久久久久久色| 国产婷婷精品| 在线日韩视频| 另类亚洲自拍| 最近国产精品视频| 蜜臀va亚洲va欧美va天堂| 91精品国产自产观看在线| 天堂av一区| 亚洲毛片视频| 亚洲区欧美区| 亚洲精品在线国产| 亚洲免费福利一区| 日韩精品91亚洲二区在线观看| 视频在线观看国产精品| 欧美日韩国产亚洲一区| 日韩一级精品| 亚洲免费婷婷| 亚洲免费黄色| 久久九九精品| 狠狠干综合网| 亚洲尤物av| 在线综合亚洲| 日韩中文欧美在线| 青青青国产精品| 国产精品毛片久久| 国产精品日韩久久久| 中文在线日韩| 久久精品国产在热久久| av资源中文在线| 亚洲国产成人精品女人| 久久亚洲电影| 青草av.久久免费一区| 国产欧美日韩在线一区二区 | 久久尤物视频| 久久理论电影| 久久影院一区二区三区| 蜜臀精品久久久久久蜜臀| 精品久久电影| 国产亚洲在线观看| 在线一区电影| 久久国产精品免费一区二区三区| 国产综合色区在线观看| 一二三区精品| 亚洲福利久久| 精品久久电影| 99视频精品免费观看| 久久电影一区| 久久中文字幕一区二区三区| 亚洲国内欧美| 日本久久二区| 国产精品久久久久av电视剧| 五月婷婷亚洲| 国产中文字幕一区二区三区| 国产亚洲精品自拍| 欧美精品三级在线| 国产精品国产一区| 免费在线观看精品| 国产日产一区| 国内精品99| 国产成人免费精品| 国产偷自视频区视频一区二区| 久久激情av| 亚洲成人一区| 国模大尺度视频一区二区| 日韩中文字幕av电影| 桃色一区二区| 麻豆精品在线播放| 蜜桃免费网站一区二区三区| 国产videos久久| 欧美日韩中出| 最新日韩av| 亚洲不卡系列| 午夜影院一区| 国产一区二区三区不卡av| 欧美日韩一区二区三区不卡视频| 日韩视频久久| 日韩中文字幕高清在线观看| 蜜桃久久久久| 精品国产欧美日韩| 国产在线不卡一区二区三区| 国产毛片一区二区三区 | 日韩在线观看一区二区| 影视先锋久久| 九九综合在线| 久久久久国产精品一区三寸| 日韩成人综合| 日韩中文在线电影| 国产aⅴ精品一区二区四区|