import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class ScaleConverter2 extends JFrame
implements ActionListener{
private JLabel lblValue, lblResult;
private JButton btnCompute, btnCancel;
private JRadioButton rbKm, rbMetre, rbCm;
private JRadioButton rbToKm, rbToMetre, rbToCm;
private JPanel convertFromPnl, convertToPnl, calculatePnl;
private JTextField txtValue, txtResult;
public ScaleConverter2() {
initConvertFromPnl();
initConvertToPnl();
initCalculatePnl();
getContentPane().setLayout(new GridLayout(3, 1));
getContentPane().add(convertFromPnl);
getContentPane().add(convertToPnl);
getContentPane().add(calculatePnl);
} //end constructor
public void initConvertFromPnl() {
convertFromPnl = new JPanel(new GridLayout(3, 1));
rbKm = new JRadioButton("Km");
rbMetre = new JRadioButton("Metre");
rbCm = new JRadioButton("Cm");
convertFromPnl.add(rbKm);
convertFromPnl.add(rbMetre);
convertFromPnl.add(rbCm);
convertFromPnl.setBorder(BorderFactory.createTitledBorder("Convert from"));
// Set KM as the default
rbKm.setSelected(true);
}
public void initConvertToPnl() {
convertToPnl = new JPanel(new GridLayout(3, 1));
rbToKm = new JRadioButton("Km");
rbToMetre = new JRadioButton("Metre");
rbToCm = new JRadioButton("Cm");
convertToPnl.add(rbToKm);
convertToPnl.add(rbToMetre);
convertToPnl.add(rbToCm);
convertToPnl.setBorder(BorderFactory.createTitledBorder("Convert from"));
rbToMetre.setSelected(true);
}
public void initCalculatePnl() {
calculatePnl = new JPanel(new GridLayout(3, 2,5,5));
lblValue = new JLabel("Value");
lblResult = new JLabel("Result");
btnCompute = new JButton("Compute");
btnCancel = new JButton("Cancel");
txtValue = new JTextField(10);
txtResult = new JTextField(10);
calculatePnl.add(lblValue);
calculatePnl.add(txtValue);
calculatePnl.add(lblResult);
calculatePnl.add(txtResult);
calculatePnl.add(btnCompute);
calculatePnl.add(btnCancel);
calculatePnl.setBorder(BorderFactory.createTitledBorder("Convert from"));
btnCompute.addActionListener(this);
} //end init
public void actionPerformed(ActionEvent ev){
if (ev.getSource() == btnCompute){
String input = txtValue.getText();//retrieve from textfield
double value = Double.parseDouble(input);
double result = 0;
// if the user wants to convert km to m
if (rbKm.isSelected() &&
rbToMetre.isSelected()){
result = value*1000;
}
txtResult.setText(String.valueOf(result));
}
} //end actionPerformed
public static void main(String args[]) {
ScaleConverter2 f = new ScaleConverter2();
f.setSize(400, 400);
f.setVisible(true);
f.setTitle("Scale Converter");
} //end main
} //end class
Friday, November 24, 2006
GUI with ActionListener
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment