- Javaの宿題が終わらない。 [転載禁止]©2ch.net
1 :hoge僧[]:2015/03/10(火) 16:47:34.51 ID:sh5tVlc8 - 用意されたソースを応用して、画面上に電卓のGUIを2つ以上表示させるようにし。
複数の電卓のGUIはそれぞれのテキストフィールドと連動し 例えば、 Aの電卓に1ボタンを押せば、Bの電卓にも1が入力されるようにすること。 という宿題なのですが、さっぱり分からないです。。。 以下ソース
| - Javaの宿題が終わらない。 [転載禁止]©2ch.net
2 :hoge僧[]:2015/03/10(火) 16:48:38.07 ID:sh5tVlc8 - package dentaku;
import java.awt.*; import java.awt.event.*; import javax.swing.*; public class DentakuFrame extends JFrame { private static final long serialVersionUID = 1L; JPanel contentPane = new JPanel(); BorderLayout borderLayout1 = new BorderLayout(); JTextField result = new JTextField(""); //計算結果を表示するテキストフィールド double stackedValue = 0.0; //演算子ボタンを押す前にテキストフィールドにあった値 boolean isStacked = false; //stackedValueに数値を入力したかどうか boolean afterCalc = false; //演算子ボタンを押した後かどうか String currentOp = ""; //押された演算子ボタンの名前
| - Javaの宿題が終わらない。 [転載禁止]©2ch.net
3 :hoge僧[]:2015/03/10(火) 16:49:14.23 ID:sh5tVlc8 - //フレームのビルド
public DentakuFrame() { contentPane.setLayout(borderLayout1); this.setSize(new Dimension(250, 300)); this.setTitle("電子式卓上計算機"); this.setContentPane(contentPane); contentPane.add(result, BorderLayout.NORTH); //テキストフィールドを配置 JPanel keyPanel = new JPanel(); //ボタンを配置するパネルを用意 keyPanel.setLayout(new GridLayout(4, 4)); //4行4列のGridLayoutにする contentPane.add(keyPanel, BorderLayout.CENTER); keyPanel.add(new NumberButton("7"), 0); //ボタンをレイアウトにはめこんでいく keyPanel.add(new NumberButton("8"), 1); keyPanel.add(new NumberButton("9"), 2); keyPanel.add(new CalcButton("÷"), 3); keyPanel.add(new NumberButton("4"), 4);
| - Javaの宿題が終わらない。 [転載禁止]©2ch.net
4 :hoge僧[]:2015/03/10(火) 16:49:54.37 ID:sh5tVlc8 - keyPanel.add(new NumberButton("5"), 5);
keyPanel.add(new NumberButton("6"), 6); keyPanel.add(new CalcButton("×"), 7); keyPanel.add(new NumberButton("1"), 8); keyPanel.add(new NumberButton("2"), 9); keyPanel.add(new NumberButton("3"), 10); keyPanel.add(new CalcButton("−"), 11); keyPanel.add(new NumberButton("0"), 12); keyPanel.add(new NumberButton("."), 13); keyPanel.add(new CalcButton("+"), 14); keyPanel.add(new CalcButton("="), 15); contentPane.add(new ClearButton(), BorderLayout.SOUTH);//Cボタンを配置する this.setVisible(true); }
| - Javaの宿題が終わらない。 [転載禁止]©2ch.net
5 :hoge僧[]:2015/03/10(火) 16:50:22.02 ID:sh5tVlc8 - /* テキストフィールドに引数の文字列をつなげる */
public void appendResult(String c) { if (!afterCalc) //演算子ボタンを押した直後でないなら result.setText(result.getText() + c); //押したボタンの名前をつなげる else { result.setText(c); //押したボタンの文字列だけを設定する(いったんクリアしたかに見える) afterCalc = false; } }
|
|