Java実装単純計算機
1概要加減算対応 小数演算対応 キーボード傍受 マウスモニター 2効果のデモ
3詳細
3.1演算
演算には、文字列式の値を計算するために
実は演算は難しくなく、基本的な演算子と操作数の入スタック出スタック操作であり、詳しくは言わない.
3.2
アイコンは
3.3フォント
フォントはマイクロソフトの黒のフォントを使用し、デフォルトは太字、17番、反射取得
3.4マウスモニター
コアは
3.5キーボードリスニング
コアは
3.6入力制限文字
4ソース Github コードクラウド
Java AWT+Swing
実現した簡易計算機で、機能は以下の通り.3詳細
3.1演算
演算には、文字列式の値を計算するために
ExpressionHandle
の静的クラスが使用されます.実は演算は難しくなく、基本的な演算子と操作数の入スタック出スタック操作であり、詳しくは言わない.
3.2
Base64
アイコンは
Base64
処理されており、1つのピクチャリソースのみであり、かつピクチャを使用すると経路の問題が発生しやすいため、Java
持参したBase64.Decoder
処理を行い、decode
後にバイト配列を生成してImageIcon
のパラメータとしてピクチャを正しく表示することができる.3.3フォント
フォントはマイクロソフトの黒のフォントを使用し、デフォルトは太字、17番、反射取得
setFont
を使用して設定します.3.4マウスモニター
コアは
MouseListner
・mouseEntered
/mouseExited
入・出の背景色を設定するとともにmouseClicked
レスポンスイベントを設定し、等号、退格およびEsc
を特判し、その他の直接該当入力ボックスに文字を追加すればよい.3.5キーボードリスニング
コアは
KeyListner
、keyPressed
レスポンスイベントを設定し、リターング、イコール番号を特判するほか、コンビネーションキーにも注意が必要です.例えばShift
+8
は乗番を示していますが、keyEvent.isShiftDown
判断shift
押下するか否か、同時刻に対応するキー背景色を設定します.keyReleased
ではボタン解放イベントを設定しており、ここでは設定背景として、あるボタンを設定していると思っていたが、キーボードイベントの応答が鈍いためか、ボタンが早すぎると「押し続ける」という仮象が現れるため、すべてのキーに応答した.3.6入力制限文字
JTextField.setDocument()
およびPlainDocument
を利用して、不正な入力があった場合にヒントを与え、対応する入力を無視するコアがinsertString()
です.4ソース