01: package net.ar.webonswing.tutorial;
02:
03: import java.awt.*;
04: import java.awt.event.*;
05:
06: import javax.swing.*;
07:
08: import net.ar.webonswing.*;
09: import net.ar.webonswing.swing.layouts.*;
10:
11: public class Calculator2 extends JDialog implements ActionListener {
12: protected JLabel resultLabel;
13: protected JTextField firstNumerField;
14: protected JTextField secondNumerField;
15: protected JComboBox operationCombo;
16:
17: public Calculator2() {
18: Container contentPane = getContentPane();
19:
20: resultLabel = new JLabel("result");
21: firstNumerField = new JTextField("");
22: secondNumerField = new JTextField("");
23: operationCombo = new JComboBox(new String[] { "+", "-", "*",
24: "/" });
25: JButton processButton = new JButton("=");
26:
27: processButton.addActionListener(this );
28:
29: contentPane.setLayout(new TemplateLayout(WosFramework
30: .getKeyPositionTemplateForName("CalculatorTemplate")));
31:
32: contentPane.add(firstNumerField, "firstNumber");
33: contentPane.add(operationCombo, "operation");
34: contentPane.add(secondNumerField, "secondNumber");
35: contentPane.add(resultLabel, "result");
36: contentPane.add(processButton, "button");
37: }
38:
39: public void actionPerformed(ActionEvent e) {
40: float firstNumber = Float.parseFloat(firstNumerField.getText());
41: float secondNumber = Float.parseFloat(secondNumerField
42: .getText());
43: float result = 0;
44:
45: switch (operationCombo.getSelectedItem().toString().charAt(0)) {
46: case '+':
47: result = firstNumber + secondNumber;
48: break;
49: case '-':
50: result = firstNumber - secondNumber;
51: break;
52: case '*':
53: result = firstNumber * secondNumber;
54: break;
55: case '/':
56: result = firstNumber / secondNumber;
57: break;
58: }
59:
60: resultLabel.setText(Float.toString(result));
61: }
62: }
|