import javax.swing.*; import java.awt.*; import java.awt.event.*; public class ConverterFrame extends JFrame { private Converter converter = new Converter(); // Reference to app private JTextField inField = new JTextField(8); private JTextField outField = new JTextField(8); private JButton metersToInch; private JButton kgsToLbs; public ConverterFrame() { metersToInch = createJButton("Meters To Inches"); kgsToLbs = createJButton("Kilos To Pounds"); getContentPane().setLayout( new FlowLayout() ); getContentPane().add(inField); getContentPane().add(outField); getContentPane().add(metersToInch); getContentPane().add(kgsToLbs); } private JButton createJButton(String s) { // A method to create a JButton JButton jbutton = new JButton(s); class ButtonListener implements ActionListener { // Local class public void actionPerformed(ActionEvent e) { double inValue = Double.valueOf(inField.getText()).doubleValue(); JButton button = (JButton) e.getSource(); if (button.getText().equals("Meters To Inches")) outField.setText(""+ converter.new Distance().metersToInches(inValue)); else outField.setText(""+ converter.new Weight().kgsToPounds(inValue)); } } // ButtonListener ActionListener listener = new ButtonListener(); // Create a listener jbutton.addActionListener(listener); // Register buttons with listener return jbutton; } // createJButton() public static void main(String args[]) { ConverterFrame frame = new ConverterFrame(); frame.setSize(200,200); frame.setVisible(true); } // main() } // ConverterFrame