資源簡介
Java 計算器 采用gridbaglayout布局實現的界面布局

代碼片段和文件信息
package?com.ares.util;
import?java.awt.*;
import?java.awt.event.*;
import?javax.swing.*;
/**
?*?Calculator類,實現計算器界面版
?*?@author?Ares
?*?@version?1.0
?*?@see?GBC.java
?*/
public?class?Calculator?implements?ActionListener{
/**用來標識所有按鍵*/
final?String[]?KEYS?=?{?“CE“?“C“?“←“?“÷“?“7“?“8“?“9“?“ד?“4““5“?“6“?“-“?“1“?“2“?“3“?“+“?“0“?“.“?“=“?};
/**將所有按鈕用Button數組實現*/
JButton[]?keys?=?new?JButton[KEYS.length];
/**用來顯示結果區域*/
JTextField?resultText?=?new?JTextField(“0“);
/**標志按的是表達式第一個數字,還是運算符后的第一個數字*/
private?boolean?firstDigit?=?true;???
/**中間結果*/
private?double?resultNum?=?0.0;?
/**當前運算的運算符??*/
????private?String?operator?=?“=“;???
????/**判斷操作是否合法*/
private?boolean?operateValidFlag?=?true;?
/**
?*?向面板中添加組件
?*?@param?pane?用來添加組件的面板
?*/
public?void?addComponentsToPane(Container?pane)?{
GridBagLayout?layout?=?new?GridBagLayout();
pane.setLayout(layout);
resultText.setFont(new?Font(“Century?Schoolbook“?Font.PLAIN?14));
resultText.setEditable(false);
resultText.setHorizontalAlignment(SwingConstants.RIGHT);
pane.add(resultTextnew?GBC(0?0?4?1).setIpad(400?50).setWeight(0.5?0.5).setFill(GridBagConstraints.BOTH));
for?(int?i?=?0;?i? keys[i]?=?new?JButton(KEYS[i]);
if(i?==?keys.length-3){
pane.add(keys[i]new?GBC(i?%?4?i?/?4?+?121).setIpad(0?12).setInsets(1).setFill(GridBagConstraints.BOTH).setWeight(0.5?0.5));
}else?if?(i?==?keys.length-2?||?i?==?keys.length-1)?{
pane.add(keys[i]new?GBC(i?%?4+1?i?/?4?+?1).setIpad(0?12).setInsets(1).setFill(GridBagConstraints.BOTH).setWeight(0.5?0.5));
}else?{
pane.add(keys[i]?new?GBC(i?%?4?i?/?4?+?1).setIpad(0?12).setInsets(1).setFill(GridBagConstraints.BOTH).setWeight(0.5?0.5));
}
}
for?(int?i?=?0;?i?????????????keys[i].addActionListener(this);??
????????}?
}
/**
?*?創建和顯示界面
?*/
public?void?createAndShowGUI()?{
Jframe?frame?=?new?Jframe(“Calculator“);
frame.setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);
addComponentsToPane(frame.getContentPane());
frame.pack();
frame.setVisible(true);
}
/**
?*?執行點擊按鈕出發的動作
?*?@override?
?*?@see?java.awt.event.actionPerformed
?*/
public?void?actionPerformed(ActionEvent?e)?{
String?label?=?e.getActionCommand();
if(label.equals(KEYS[0])){
resultText.setText(“0“);
}else?if?(label.equals(KEYS[1]))?{
handleC();
}else?if?(label.equals(KEYS[2]))?{
handleBackspace();
}else?if?(“0123456789.“.indexOf(label)?>=?0)?{
handleNumber(label);
}else{
handleOperator(label);
}
}
/**
?*?處理撤銷建
?*/
private?void?handleBackspace()?{??
????????String?text?=?resultText.getText();??
????????int?i?=?text.length();??
????????if?(i?>?0)?{??
????????????text?=?text.substring(0?i?-?1);??
????????????if?(text.length()?==?0)?{??
????????????????resultText.setText(“0“);??
????????????????firstDigit?=?true;??
????????????????operator?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2015-05-24?15:04??Calculator\
?????文件?????????232??2015-05-19?14:29??Calculator\.classpath
?????文件?????????386??2015-05-19?14:29??Calculator\.project
?????目錄???????????0??2015-06-12?11:13??Calculator\bin\
?????目錄???????????0??2015-06-12?11:13??Calculator\bin\com\
?????目錄???????????0??2015-06-12?11:13??Calculator\bin\com\ares\
?????目錄???????????0??2015-06-25?21:44??Calculator\bin\com\ares\util\
?????文件?????????554??2015-06-12?11:13??Calculator\bin\com\ares\util\Calculator$1.class
?????文件????????5300??2015-06-12?11:13??Calculator\bin\com\ares\util\Calculator.class
?????文件????????1499??2015-06-12?11:13??Calculator\bin\com\ares\util\GBC.class
?????目錄???????????0??2015-05-24?15:04??Calculator\doc\
?????文件?????????748??2015-05-24?20:45??Calculator\doc\allclasses-fr
?????文件?????????708??2015-05-24?20:45??Calculator\doc\allclasses-nofr
?????目錄???????????0??2015-05-24?15:04??Calculator\doc\com\
?????目錄???????????0??2015-05-24?15:04??Calculator\doc\com\ares\
?????目錄???????????0??2015-05-24?15:04??Calculator\doc\com\ares\util\
?????文件???????11422??2015-05-24?20:45??Calculator\doc\com\ares\util\Calculator.html
?????文件???????16905??2015-05-24?20:45??Calculator\doc\com\ares\util\GBC.html
?????目錄???????????0??2015-05-24?15:04??Calculator\doc\com\ares\util\class-use\
?????文件????????4110??2015-05-24?20:45??Calculator\doc\com\ares\util\class-use\Calculator.html
?????文件????????7453??2015-05-24?20:45??Calculator\doc\com\ares\util\class-use\GBC.html
?????文件?????????865??2015-05-24?20:45??Calculator\doc\com\ares\util\package-fr
?????文件????????4704??2015-05-24?20:45??Calculator\doc\com\ares\util\package-summary.html
?????文件????????4310??2015-05-24?20:45??Calculator\doc\com\ares\util\package-tree.html
?????文件????????4602??2015-05-24?20:45??Calculator\doc\com\ares\util\package-use.html
?????文件????????3586??2015-05-24?20:45??Calculator\doc\constant-values.html
?????文件????????3574??2015-05-24?20:45??Calculator\doc\deprecated-list.html
?????文件????????7208??2015-05-24?20:45??Calculator\doc\help-doc.html
?????目錄???????????0??2015-05-24?15:04??Calculator\doc\index-files\
?????文件????????4655??2015-05-24?20:45??Calculator\doc\index-files\index-1.html
?????文件????????4972??2015-05-24?20:45??Calculator\doc\index-files\index-2.html
............此處省略15個文件信息
- 上一篇:JAVA簡單記事本程序設計實驗報告(帶源碼)
- 下一篇:android 注入so代碼
評論
共有 條評論