java GUI實現(xiàn)加法計算器
本文實例為大家分享了java GUI實現(xiàn)加法計算器的具體代碼,供大家參考,具體內(nèi)容如下
1.寫出一個簡易計算器需要的組件
2.先出監(jiān)聽事件類
public class TextCalculator01 { public static void main(String[] args) { new MyCalculator(); } } //計算器類 class MyCalculator extends Frame{ public MyCalculator() { //三個文本框 TextField num1 = new TextField(10); TextField num2 = new TextField(10); TextField num3 = new TextField(20); //一個等號 Button button = new Button("="); //實現(xiàn)鍵盤事件監(jiān)聽 button.addActionListener(new MyCalculatorListener(num1,num2,num3)); //一個標簽 Label label = new Label("+"); //布局 setLayout(new FlowLayout());//流式布局 add(num1); add(label); add(num2); add(button); add(num3); setVisible(true); pack(); } } //監(jiān)聽器類 class MyCalculatorListener implements ActionListener{ //獲得三個數(shù)據(jù) private TextField num1,num2,num3; public MyCalculatorListener(TextField num1,TextField num2,TextField num3) { this.num1= num1; this.num2 = num2; this.num3 = num3; } @Override public void actionPerformed(ActionEvent e) { //獲得兩個加數(shù) int n1 = Integer.parseInt(num1.getText());//轉(zhuǎn)換成int類型 int n2 = Integer.parseInt(num2.getText()); //前面兩個數(shù)相加,放入第三個框中 num3.setText(""+(n1 + n2)); //清除前兩個框的的內(nèi)容 num1.setText(""); num2.setText(""); } }
按下等號按鍵,前兩個框的內(nèi)容會被清除,第三個框輸出結(jié)果3
優(yōu)化后的寫法(完全面向?qū)ο螅?/strong>
//簡易計算器 public class TextCalculator { public static void main(String[] args) { new Calculator().loadFrame(); } } class Calculator extends Frame{ //屬性,三個文件框組件 TextField num1,num2,num3; //方法 public void loadFrame(){ //需要三個文件框 num1 = new TextField(10); num2 = new TextField(10); num3 = new TextField(20); Button button = new Button("="); Label label = new Label("+"); button.addActionListener(new MyCalautor(this)); //布局 setLayout(new FlowLayout());//流式布局 add(num1); add(label); add(num2); add(button); add(num3); setVisible(true); pack(); } } //監(jiān)聽事件 class MyCalautor implements ActionListener{ //獲得計算器這個類,在一個類中組合另一個類 Calculator calculator = null; public MyCalautor(Calculator calculator) { this.calculator = calculator; } @Override public void actionPerformed(ActionEvent e) { //1.獲得前面兩個數(shù)字 // 2.把兩個數(shù)的相加的結(jié)果輸入到第三個框 //3.把前兩個框的內(nèi)容清除 int n1 = Integer.parseInt(calculator.num1.getText()); int n2 = Integer.parseInt(calculator.num2.getText()); calculator.num3.setText(""+(n1+n2)); calculator.num1.setText(""); calculator.num2.setText(""); } }
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
如何解決 Java 中的 IndexOutOfBoundsException 異
當我們在 Java 中使用 List 的時候,有時候會出現(xiàn)向 List 中不存在的位置設置新元素的情況,從而導致 IndexOutOfBoundsException 異常,本文將會介紹這個問題的產(chǎn)生原因以及解決方案2023-10-10IntelliJ IDEA安裝插件阿里巴巴Java開發(fā)手冊(Alibaba Java Coding Guidelines
這篇文章主要介紹了IntelliJ IDEA安裝插件阿里巴巴Java開發(fā)手冊(Alibaba Java Coding Guidelines),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-05-05如何動態(tài)改變Retrofit的base url和rest版本詳解
這篇文章主要給大家介紹了關于如何動態(tài)改變Retrofit的base url和rest版本的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2018-09-09springboot中的靜態(tài)資源加載順序優(yōu)先級
這篇文章主要介紹了springboot中的靜態(tài)資源加載順序優(yōu)先級,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09Mybatis-Plus的條件構(gòu)造器QueryWrapper & UpdateWrapper示例詳解
Mybatis-Plus的條件構(gòu)造器QueryWrapper和UpdateWrapper為開發(fā)者提供了強大、靈活的條件構(gòu)建工具,能夠大大簡化數(shù)據(jù)庫操作的代碼,通過本文的介紹,讀者可以更加深入地理解這兩個條件構(gòu)造器的使用方法,并在實際項目中靈活應用,感興趣的朋友跟隨小編一起看看吧2024-01-01java 過濾器filter防sql注入的實現(xiàn)代碼
下面小編就為大家?guī)硪黄猨ava 過濾器filter防sql注入的實現(xiàn)代碼。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-08-08