[Java] Farenheit2Celcius konverterare, fixa ERROR vid inmatning av fel värde?
Hejsan
Fick så fin handledning på min förra labb så jag hoppas att ni kan hjälpa mig igen :). Jag har skrivit ett litet program i Java som konverterar Farenheit till Celcius och vice versa. Värdet man vill konvertera skrivs i ett textfält och när man trycker på det man vill konvertera till hamnar svaret i en label.
Allt fungerar fint, dock vill jag att ett ERROR medelande ska visas i labeln när jag skriver in ett annat värde än siffrorna 0-9. Värdet "1020" ska fungera men inte tex "ABC!=#¤".
Här är koden
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class F2C extends JFrame{
private String buttonTitleC2F = "C to F";
private String buttonTitleF2C = "F to C";
private JButton C2FButton = new JButton(buttonTitleC2F);
private JButton F2CButton = new JButton(buttonTitleF2C);
private JPanel panel = new JPanel();
private JLabel label;
private JTextField tempTextField;
public F2C(){
super ("Farenheit to Celcius converter");
panel.setLayout(new FlowLayout());
getContentPane().add(panel);
panel.setBackground(Color.gray);
label = new JLabel("");
tempTextField = new JTextField (5);
panel.add(C2FButton);
panel.add(F2CButton);
panel.add(tempTextField);
panel.add(label);
C2FButton.addActionListener(new ButtonListener());
F2CButton.addActionListener(new ButtonListener2());
}
private class ButtonListener implements ActionListener {
public void actionPerformed (ActionEvent evt){
int tempFahr = (int) ((Double.parseDouble(tempTextField.getText())) * 1.8 +32);
String tempF2C = String.valueOf(tempFahr);
label.setText(tempF2C+ " C");
}
}
private class ButtonListener2 implements ActionListener {
public void actionPerformed (ActionEvent evt){
int tempCelc = (int) (((Double.parseDouble(tempTextField.getText())) -32) /1.8);
String tempC2F = String.valueOf(tempCelc);
label.setText(tempC2F + " F");
}
}
public static void main(String[] args) throws Exception{
F2C panel = new F2C();
panel.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
panel.setSize(400, 100);
panel.setVisible(true);
}
}
Om ni ser något annat som ser mysko ut kan ni gärna nämna det också, tack på förhand!