01:// テキストフィールドの加減
02:
03:import java.awt.* ;
04:import java.awt.event.* ;
05:import javax.swing.* ;
06:
07:class TextFieldDemo7 {
08:
09:  static JTextField area1;                                        // データ入力用
10:  static JTextField area2;                                        //     〃
11:  static JLabel addarea = new JLabel( "", SwingConstants.RIGHT ); // 和
12:  static JLabel subarea = new JLabel( "", SwingConstants.RIGHT ); // 差
13:
14:  static void computeAndDisplay() {
       ここに、旧27〜30行目をコピーし、インデンテーションを整える
15:    int arg1 = Integer.parseInt(area1.getText());
16:    int arg2 = Integer.parseInt(area2.getText());
17:    addarea.setText(String.valueOf(arg1+arg2));
18:    subarea.setText(String.valueOf(arg1-arg2));
19:  }
20:
21:  public static void main(String args[]) {
22:                                                // フレームの作成
23:    JFrame frame = new JFrame("2数の計算");
24:    frame.addWindowListener(new WindowAdapter() {
25:       public void windowClosing(WindowEvent e) { System.exit(0); }
26:    });
27:    Container pane = frame.getContentPane();
28:    pane.setLayout(new BorderLayout());
29:                                                // テキストフィールドの作成
30:    area1 = new JTextField("", 10);
31:    area1.setHorizontalAlignment( JTextField.RIGHT );
32:    area1.addActionListener(new ActionListener() {
33:       public void actionPerformed(ActionEvent e) {
34:         computeAndDisplay();
35:       }
36:    });
37:
38:    area2 = new JTextField("", 10);
39:    area2.setHorizontalAlignment( JTextField.RIGHT );
40:    area2.addActionListener(new ActionListener() {
41:       public void actionPerformed(ActionEvent e) {
42:         computeAndDisplay();
43:       }
44:    });
45:                                                // 表題ラベルの作成
46:    JPanel west = new JPanel( new GridLayout(2,1) );
47:    west.add( new JLabel("和:") );
48:    west.add( new JLabel("差:") );
49:                                                // コンポーネントの配置
50:    JPanel north = new JPanel( new GridLayout(2,1) );
51:    north.add(area1);
52:    north.add(area2);
53:
54:    JPanel center = new JPanel( new GridLayout(2,1) );
55:    center.add(addarea);
56:    center.add(subarea);
57:
58:    pane.add( north,  BorderLayout.NORTH );
59:    pane.add( west,   BorderLayout.WEST );
60:    pane.add( center, BorderLayout.CENTER );
61:                                                 // ウィンドウの表示
62:    frame.pack();
63:    frame.setVisible(true);
64: }
65:}