欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java GUI實現(xiàn)加法計算器

 更新時間:2021年04月27日 14:25:46   作者:今天不寫代碼  
這篇文章主要為大家詳細介紹了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中的OpenTracing使用實例

    Java中的OpenTracing使用實例

    這篇文章主要介紹了Java中的OpenTracing使用實例,主要的OpenTracing API將所有主要組件聲明為接口以及輔助類,例如Tracer,Span,SpanContext,Scope,ScopeManager,Format(用映射定義通用的SpanContext注入和提取格式),需要的朋友可以參考下
    2024-01-01
  • 如何解決 Java 中的 IndexOutOfBoundsException 異常(最新推薦)

    如何解決 Java 中的 IndexOutOfBoundsException 異

    當我們在 Java 中使用 List 的時候,有時候會出現(xiàn)向 List 中不存在的位置設置新元素的情況,從而導致 IndexOutOfBoundsException 異常,本文將會介紹這個問題的產(chǎn)生原因以及解決方案
    2023-10-10
  • Java IO復用_動力節(jié)點Java學院整理

    Java IO復用_動力節(jié)點Java學院整理

    這篇文章主要介紹了Java IO復用的相關知識,非常不錯,具有參考借鑒價值,需要的的朋友參考下吧
    2017-05-05
  • IntelliJ IDEA安裝插件阿里巴巴Java開發(fā)手冊(Alibaba Java Coding Guidelines)

    IntelliJ IDEA安裝插件阿里巴巴Java開發(fā)手冊(Alibaba Java Coding Guidelines

    這篇文章主要介紹了IntelliJ IDEA安裝插件阿里巴巴Java開發(fā)手冊(Alibaba Java Coding Guidelines),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-05-05
  • MyBatis-Plus?實體類注解的實現(xiàn)示例

    MyBatis-Plus?實體類注解的實現(xiàn)示例

    MyBatis-Plus作為MyBatis的增強版,提供了一系列實用的注解,如@TableName、@TableId、@TableField等,旨在簡化數(shù)據(jù)庫和Java實體類之間的映射及CRUD操作,通過這些注解,開發(fā)者可以輕松實現(xiàn)表映射、字段映射、邏輯刪除、自動填充和樂觀鎖等功能
    2024-09-09
  • 如何動態(tài)改變Retrofit的base url和rest版本詳解

    如何動態(tài)改變Retrofit的base url和rest版本詳解

    這篇文章主要給大家介紹了關于如何動態(tài)改變Retrofit的base url和rest版本的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-09-09
  • springboot中的靜態(tài)資源加載順序優(yōu)先級

    springboot中的靜態(tài)資源加載順序優(yōu)先級

    這篇文章主要介紹了springboot中的靜態(tài)資源加載順序優(yōu)先級,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Mybatis-Plus的條件構(gòu)造器QueryWrapper & UpdateWrapper示例詳解

    Mybatis-Plus的條件構(gòu)造器QueryWrapper & UpdateWrapper示例詳解

    Mybatis-Plus的條件構(gòu)造器QueryWrapper和UpdateWrapper為開發(fā)者提供了強大、靈活的條件構(gòu)建工具,能夠大大簡化數(shù)據(jù)庫操作的代碼,通過本文的介紹,讀者可以更加深入地理解這兩個條件構(gòu)造器的使用方法,并在實際項目中靈活應用,感興趣的朋友跟隨小編一起看看吧
    2024-01-01
  • java 過濾器filter防sql注入的實現(xiàn)代碼

    java 過濾器filter防sql注入的實現(xiàn)代碼

    下面小編就為大家?guī)硪黄猨ava 過濾器filter防sql注入的實現(xiàn)代碼。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-08-08
  • Java通過反射,如何動態(tài)修改注解的某個屬性值

    Java通過反射,如何動態(tài)修改注解的某個屬性值

    這篇文章主要介紹了Java通過反射,動態(tài)修改注解的某個屬性值操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07

最新評論