現在、Javaでかんたんな電卓を作っています。
位的には、calcボタンを押すと計算し、ラベルを追加し表示・clearボタンを押すとtextfieldの内容をクリアする、というものをつくっています
しかし、以下のコードのようにイベント処理を書いたのですが、複数回calcボタンを押すと、計算結果が横並びになってしまい、正しい計算結果が得られなくなってしまいます。
また、clearボタンを押したあとも同様に、前回の計算結果が履歴として残ってしまい横並びになってしまいます。
この問題を解決する方法
(2回目以降のイベント処理を禁止する・clearしたときにLabelの内容もクリアする)
がわかる方がいれば教えていただきたいです。
Java
1public void actionPerformed(ActionEvent e) { 2 if(e.getSource() == b1){ 3 int num1 = Integer.parseInt(tf1.getText()); 4 int num2 = Integer.parseInt(tf2.getText()); 5 int answer = ctrl.calc(num1, num2, tfop.getText()); 6//tf1,tf2はテキストフィールドに入力してもらう数字、tfopは2数を計算する演算子 7 String anw = String.valueOf(answer); 8 lres = new JLabel(anw); 9 c.add(lres); 10 // 複数回、計算するボタンを押すと数字が量産されてしまう 11 }else if(e.getSource() == b2){ 12 tf1.setText(""); 13 tf2.setText(""); 14 tfop.setText(""); 15 } 16}
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/15 14:29