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