国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

java圖形界面AWT編寫計算器

2019-11-26 13:22:21
字體:
來源:轉載
供稿:網友

一、前言

1)這個計算器是基于java語言下圖形界面AWT編寫的。其實我認為寫這個計算器,實現什么功能不重要,市場也不缺這個計算器,而是在于對AWT中三大布局的及畫板的使用簡單控件的操作使用。通過聯系熟悉掌握AWT基礎為深入學習打下基礎。這個計算器功能也十分簡單,空有其表。不過有興趣的話可以繼續添加功能完善操作等。

2)使用平臺:主要使用Myeclipse2014

3)主要知識點:java 基礎; awt+swing

二、功能實現及代碼展示

1)主要是layout布局的練習,對畫板文本框的使用,以及控件button的事件的注冊與監聽。因為功能也很簡單,所以代碼就簡寫到同一個類里了。實現了基本的四則運算。

2)代碼如下:

import java.awt.BorderLayout; import java.awt.GridLayout; import java.awt.TextField; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import java.awt.Color;  public class JiSuanJi {      private JFrame frame;  //聲明相關布局面板   private JPanel panelwest;   private JPanel panelcenter;   private JPanel paneleast;   private TextField tf;      private JButton buttonzero; //聲明按鈕控件   private JButton buttondot;   private JButton buttonequal;   private JButton buttonplus,buttonminus,buttonmultiple,buttondevision,buttonsin,buttontozero;   private JButton buttonone,buttontwo,buttonthree,buttonfour,buttonfive,buttonsix,buttonseven,buttoneight,buttonnine;       private ButtonListener listener;            //聲明監聽事件      public static void main(String args[]){     new JiSuanJi();   }    public JiSuanJi(){          initView();                    //實例化相關對象          setCenter();                    //布局添加控件及相關控件處理     setWest();     setEast();          addListener();                   //設置監聽          setFrame();                    //對 frame設置布局及顯示處理        }    class ButtonListener implements ActionListener{     int biaozhi=0;                   //初始化相關變量     double flag1=0,flag2=0,flag3=0;     //@Override     public void actionPerformed(ActionEvent e){       //(1)通過 e.getSource(),獲取點擊事件的按鈕來源,作出相應處理        if(e.getSource()==buttondot){         tf.setText("0.");       }       if(e.getSource()==buttontozero){         tf.setText("");       }       if(e.getSource()==buttonzero){         tf.setText(tf.getText()+"0");         flag1=Double.parseDouble(tf.getText());       }       else if(e.getSource()==buttonone){         tf.setText(tf.getText()+"1");//文本框顯示1、2、3.。。         flag1=Double.parseDouble(tf.getText());       }       else if(e.getSource()==buttontwo){         tf.setText(tf.getText()+"2");         flag1=Double.parseDouble(tf.getText());       }       else if(e.getSource()==buttonthree){         tf.setText(tf.getText()+"3");         flag1=Double.parseDouble(tf.getText());       }       else if(e.getSource()==buttonfour){         tf.setText(tf.getText()+"4");         flag1=Double.parseDouble(tf.getText());       }       else if(e.getSource()==buttonfive){         tf.setText(tf.getText()+"5");         flag1=Double.parseDouble(tf.getText());       }              else if(e.getSource()==buttonsix){         tf.setText(tf.getText()+"6");         flag1=Double.parseDouble(tf.getText());       }       else if(e.getSource()==buttonseven){         tf.setText(tf.getText()+"7");         flag1=Double.parseDouble(tf.getText());       }       else if(e.getSource()==buttoneight){         tf.setText(tf.getText()+"8");         flag1=Double.parseDouble(tf.getText());       }       else if(e.getSource()==buttonnine){         tf.setText(tf.getText()+"9");         flag1=Double.parseDouble(tf.getText());       }       if(e.getSource()==buttonplus){         tf.setText("");         flag2=flag1;         biaozhi=0;       }       if(e.getSource()==buttonminus){         tf.setText("");         flag2=flag1;         biaozhi=1;       }       if(e.getSource()==buttonmultiple){         tf.setText("");         flag2=flag1;         biaozhi=2;       }       if(e.getSource()==buttondevision){         tf.setText("");         flag2=flag1;         biaozhi=3;       }       if(e.getSource()==buttonsin){         flag3=Math.sin(flag1);         tf.setText(flag3+"");       }       if(e.getSource()==buttonequal){         if(biaozhi==0){           flag3=flag2+flag1;         }         if(biaozhi==1){           flag3=flag2-flag1;         }         if(biaozhi==2){           flag3=flag2*flag1;         }         if(biaozhi==3){           flag3=flag2/flag1;         }         tf.setText(flag3+"");       }     }   }      private void initView(){          /**      * 創建框架、小容器對象、按鈕對象      */     tf = new TextField(30);//初始化界面寬度     frame = new JFrame("簡易計算機");     panelcenter = new JPanel();     panelwest = new JPanel();     paneleast = new JPanel();          listener = new ButtonListener(); //實例化監聽對象   }      private void setCenter(){          //(1)初始化控件顯示值     buttonone=new JButton("1");     buttontwo=new JButton("2");     buttonthree=new JButton("3");     buttonfour=new JButton("4");     buttonfive=new JButton("5");     buttonsix=new JButton("6");     buttonseven=new JButton("7");     buttoneight=new JButton("8");     buttonnine=new JButton("9");          //(2)設置布局樣式     panelcenter.setLayout(new GridLayout(3,3));//根據內容多少來布局          //(3)中央布局添加控件按鈕     panelcenter.add(buttonone);     panelcenter.add(buttontwo);     panelcenter.add(buttonthree);     panelcenter.add(buttonfour);     panelcenter.add(buttonfive);     panelcenter.add(buttonsix);     panelcenter.add(buttonseven);     panelcenter.add(buttoneight);     panelcenter.add(buttonnine);   }      private void setEast(){          //(1)設置控件顯示符號     buttonplus=new JButton("+");     buttonminus=new JButton("-");     buttonmultiple=new JButton("*");     buttondevision=new JButton("/");     buttonsin=new JButton("sin");     buttontozero=new JButton("清除");          //(2)設置布局樣式     paneleast.setLayout(new GridLayout(3,2));          //(3)右布局添加相應按鈕控件     paneleast.add(buttonplus);     paneleast.add(buttonminus);     paneleast.add(buttonmultiple);     paneleast.add(buttondevision);     paneleast.add(buttonsin);     paneleast.add(buttontozero);        }    private void setWest(){          //(1)初始化控件顯示值     buttonzero=new JButton("0");     buttondot=new JButton(".");     buttonequal = new JButton("=");          //(2)對這三個按鈕設置布局     panelwest.setLayout(new GridLayout(3,1));          //(3)左邊布局添加按鈕控件,將三個按鈕添加入布局     panelwest.add(buttonzero);     panelwest.add(buttondot);     panelwest.add(buttonequal);        }    private void addListener(){          //(1)對 1-9對應的按鈕添加監聽     buttonone.addActionListener(listener);     buttontwo.addActionListener(listener);     buttonthree.addActionListener(listener);     buttonfour.addActionListener(listener);     buttonfive.addActionListener(listener);     buttonsix.addActionListener(listener);     buttonseven.addActionListener(listener);     buttoneight.addActionListener(listener);     buttonnine.addActionListener(listener);          //(2)對運算符對應的按鈕添加監聽     buttonplus.addActionListener(listener);     buttonminus.addActionListener(listener);     buttonmultiple.addActionListener(listener);     buttondevision.addActionListener(listener);     buttonsin.addActionListener(listener);     buttontozero.addActionListener(listener);          //(3)對其與的符號對應的按鈕監聽     buttonzero.addActionListener(listener);     buttondot.addActionListener(listener);     buttonequal.addActionListener(listener);        }    private void setFrame(){          frame.setLayout(new BorderLayout());     //將準備的不同方位的內容加入大框架     frame.add(paneleast,"East");     frame.add(tf,BorderLayout.NORTH);     frame.add(panelwest,BorderLayout.WEST);     frame.add(panelcenter,BorderLayout.CENTER);     //設置顏色     tf.setBackground(Color.green);     frame.pack();     //將框架展開     frame.setLocation(500,500);     //程序框架在屏幕的位置     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);     //退出進程,不加此句,關閉頁面但程序進程仍在后臺運行     frame.setVisible(true);     //一個圖形界面默認都是不可見的,setVisible是把圖形界面設置為可見        } } 

代碼測試可用。

三、演示與效果

1)運行界面如下:


當然了圖形界面大小位置可調,也可初始化其位置與大小。

 2)簡單測試四則運算:11*12




好像簡單的不能再簡單了。這個計算器寫下來重點是布局的聯系button的簡單使用

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 江孜县| 磐安县| 玛曲县| 清新县| 宁海县| 延津县| 彭山县| 屏东市| 秦安县| 延吉市| 东城区| 桐柏县| 江西省| 通许县| 海南省| 双桥区| 滦平县| 富民县| 刚察县| 浦县| 丰县| 通道| 全椒县| 利辛县| 尼木县| 徐汇区| 富源县| 溆浦县| 荣昌县| 丰顺县| 织金县| 曲麻莱县| 榆社县| 鄯善县| 汨罗市| 姜堰市| 拉孜县| 五常市| 噶尔县| 雅安市| 斗六市|