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:}