001:// テキストフィールドの加減乗除
002:
003:import java.awt.* ;
004:import java.awt.event.* ;
005:import javax.swing.* ;
006:
007:public class Compute4 {
008:
009: static JTextField area1; // データ入力用
010: static JTextField area2; // 〃
011: static JLabel addarea = new JLabel( "", SwingConstants.RIGHT ); // 和
012: static JLabel subarea = new JLabel( "", SwingConstants.RIGHT ); // 差
013: static JLabel mularea = new JLabel( "", SwingConstants.RIGHT ); // 積
014: static JLabel divarea = new JLabel( "", SwingConstants.RIGHT ); // 商
015:
016: public static void main(String args[]) {
017: // フレームの作成
018: JFrame frame = new JFrame("2数の計算");
019: frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
020: Container pane = frame.getContentPane();
021: pane.setLayout(new BorderLayout());
022: // テキストフィールドの作成
023: area1 = new JTextField("", 10);
024: area1.setHorizontalAlignment( JTextField.RIGHT );
025: area2 = new JTextField("", 10);
026: area2.setHorizontalAlignment( JTextField.RIGHT );
027: // ボタンの作成
028: JButton compbutton = new JButton("計算");
029: compbutton.addActionListener(new ActionListener() {
030: public void actionPerformed(ActionEvent e) {
031: int arg1 = Integer.parseInt(area1.getText());
032: int arg2 = Integer.parseInt(area2.getText());
033: addarea.setText(String.valueOf(arg1+arg2));
034: subarea.setText(String.valueOf(arg1-arg2));
035: mularea.setText(String.valueOf(arg1*arg2));
036: if(arg2==0) divarea.setText(" − ");
037: else divarea.setText(String.valueOf(arg1/arg2));
038: }
039: });
040: // 表題ラベルの作成
041: JPanel west = new JPanel( new GridLayout(4,1) );
042: west.add( new JLabel("和:") );
043: west.add( new JLabel("差:") );
044: west.add( new JLabel("積:") );
045: west.add( new JLabel("商:") );
046: // コンポーネントの配置
047: JPanel north = new JPanel( new GridLayout(3,1) );
048: north.add(compbutton);
049: north.add(area1);
050: north.add(area2);
051:
052: JPanel center = new JPanel( new GridLayout(4,1) );
053: center.add(addarea);
054: center.add(subarea);
055: center.add(mularea);
056: center.add(divarea);
057:
058: pane.add( north, BorderLayout.NORTH );
059: pane.add( west, BorderLayout.WEST );
060: pane.add( center, BorderLayout.CENTER );
061: // ウィンドウの表示
062: frame.pack();
063: frame.setVisible(true);
064: }
065:}