Felder bei falscher Eingabe leeren

  • Themenstarter Themenstarter Ente_
  • Beginndatum Beginndatum
E

Ente_

Gast
Hallo,
erneutes problem 🙁
Java:
    if (cb_Celsius.isSelected() && cb_Fahrenheit.isSelected()) {
      JOptionPane.showMessageDialog(this,"Bitte nur eine Ausgangstemperatur auswählen!");
      zf_Ausgangstemperatur.clear();
      zf_Fahrenheit.clear();
      zf_Kelvin.clear();
      zf_Celsius.clear();
      
      
    } // end of if
    
    if (cb_Celsius.isSelected() && cb_Kelvin.isSelected()) {
      JOptionPane.showMessageDialog(this,"Bitte nur eine Ausgangstemperatur auswählen!");
      zf_Ausgangstemperatur.clear();
      zf_Fahrenheit.clear();
      zf_Kelvin.clear();
      zf_Celsius.clear();
      
    } // end of if
    
    if (cb_Kelvin.isSelected() && cb_Fahrenheit.isSelected()) {
      JOptionPane.showMessageDialog(this,"Bitte nur eine Ausgangstemperatur auswählen!");
      
      zf_Ausgangstemperatur.clear();
      zf_Fahrenheit.clear();
      zf_Kelvin.clear();
      zf_Celsius.clear();
      
    } // end of if


Bei diesem Quelltext sind die Felder aber leider dann trotzdem nicht leer... nur bei der Kombination Kelvin und Fahrenheit funktionierts... Vielleicht hat ja jemand Ahnung woran es liegt...
 
poste mal bitte den GANZEN Quelltext - oder noch besser haengs als .zip an

was genau machst du gerade?

eine Eingabe, eine Auswahl, welche Eingabe das war und 2 Ausgaben?

schematisch:

Eingabe
Angabe, welcher Art die Eingabe war (C/F/K)
Ausgabe der nicht ausgewaehlten Temperaturen


Eingabe: 40
Angabe: C
Ausgabe: 312K und ka 90rumF...
 
Ist zwar nicht genau deine Frage, aber hast du schon über RadioButtons nachgedacht?
Damit ist dein Problem gleich beseitigt, und die Nutzerfreundlichkeit wesentlich höher.

Falls das (aus welchem Grund auch immer) nicht gehen sollte, probiers mal mit
Code:
cb_Celsius.setSelected(false)
das sollte tun was du willst.

Ich bin jetzt einfach mal davon ausgegangen es handelt sich um JCheckBoxen

Gruß twinflyer
 
Okay...
Also es soll einfach so sein, dass wenn man zwei checkboxen auswähllt... dannn soll die nachricht kommen und es soll dann auch nichts in die felder eingetragen werden....
Es trägt aber trotzdem was ein...
Java:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

/**
  *
  * Temperaturumrechner
  *
  * @version 1.0 vom 19.12.2012
  * @
  */

public class temperaturumrechner extends JFrame {
  // Anfang Attribute
  private JLabel lb_Bild = new JLabel();
  private ImageIcon lb_BildIcon = new ImageIcon("images/thermometer-clip-art-7.gif");
  private JLabel lb_Ueberschrift = new JLabel();
  private JCheckBox cb_Celsius = new JCheckBox();
  private JCheckBox cb_Fahrenheit = new JCheckBox();
  private JCheckBox cb_Kelvin = new JCheckBox();
  private JLabel lb_Celsius = new JLabel();
  private JNumberField zf_Celsius = new JNumberField();
  private JLabel lb_Fahrenheit = new JLabel();
  private JNumberField zf_Fahrenheit = new JNumberField();
  private JLabel lb_Kelvin = new JLabel();
  private JNumberField zf_Kelvin = new JNumberField();
  private JLabel lb_Ausgangstemperatur = new JLabel();
  private JNumberField zf_Ausgangstemperatur = new JNumberField();
  private JButton sf_Berechnen = new JButton();
  private JButton sf_Felderleeren = new JButton();
  // Ende Attribute
  
  public temperaturumrechner(String title) { 
    // Frame-Initialisierung
    super(title);
    setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
    int frameWidth = 608; 
    int frameHeight = 618;
    setSize(frameWidth, frameHeight);
    Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
    int x = (d.width - getSize().width) / 2;
    int y = (d.height - getSize().height) / 2;
    setLocation(x, y);
    setResizable(false);
    Container cp = getContentPane();
    cp.setLayout(null);
    // Anfang Komponenten
    
    lb_Bild.setBounds(368, 320, 203, 185);
    lb_Bild.setText("");
    lb_Bild.setIcon(lb_BildIcon);
    cp.add(lb_Bild);
    lb_Ueberschrift.setBounds(110, 16, 340, 57);
    lb_Ueberschrift.setText("Temperaturumrechner");
    lb_Ueberschrift.setForeground(Color.RED);
    lb_Ueberschrift.setHorizontalAlignment(SwingConstants.CENTER);
    lb_Ueberschrift.setFont(new Font("Arial", Font.BOLD, 28));
    cp.add(lb_Ueberschrift);
    cb_Celsius.setBounds(408, 104, 145, 25);
    cb_Celsius.setText("Celsius");
    cb_Celsius.setOpaque(false);
    cb_Celsius.setFont(new Font("Arial", Font.BOLD, 14));
    cp.add(cb_Celsius);
    cb_Fahrenheit.setBounds(408, 144, 153, 25);
    cb_Fahrenheit.setText("Fahrenheit");
    cb_Fahrenheit.setOpaque(false);
    cb_Fahrenheit.setFont(new Font("Arial", Font.BOLD, 14));
    cp.add(cb_Fahrenheit);
    cb_Kelvin.setBounds(408, 184, 145, 25);
    cb_Kelvin.setText("Kelvin");
    cb_Kelvin.setOpaque(false);
    cb_Kelvin.setFont(new Font("Arial", Font.BOLD, 14));
    cp.add(cb_Kelvin);
    lb_Celsius.setBounds(8, 464, 115, 41);
    lb_Celsius.setText("Celsius in °C:");
    lb_Celsius.setFont(new Font("Arial", Font.BOLD, 14));
    cp.add(lb_Celsius);
    zf_Celsius.setBounds(168, 464, 169, 41);
    zf_Celsius.setText("");
    zf_Celsius.setFont(new Font("Arial", Font.BOLD, 14));
    zf_Celsius.setEditable(false);
    cp.add(zf_Celsius);
    lb_Fahrenheit.setBounds(8, 352, 131, 41);
    lb_Fahrenheit.setText("Fahrenheit in °F:");
    lb_Fahrenheit.setFont(new Font("Arial", Font.BOLD, 14));
    cp.add(lb_Fahrenheit);
    zf_Fahrenheit.setBounds(168, 352, 169, 41);
    zf_Fahrenheit.setText("");
    zf_Fahrenheit.setFont(new Font("Arial", Font.BOLD, 14));
    zf_Fahrenheit.setEditable(false);
    cp.add(zf_Fahrenheit);
    lb_Kelvin.setBounds(8, 408, 131, 41);
    lb_Kelvin.setText("Kelvin in °K:");
    lb_Kelvin.setFont(new Font("Arial", Font.BOLD, 14));
    cp.add(lb_Kelvin);
    zf_Kelvin.setBounds(168, 408, 169, 41);
    zf_Kelvin.setText("");
    zf_Kelvin.setFont(new Font("Arial", Font.BOLD, 14));
    zf_Kelvin.setEditable(false);
    cp.add(zf_Kelvin);
    lb_Ausgangstemperatur.setBounds(8, 144, 197, 33);
    lb_Ausgangstemperatur.setText("Bitte Temperatur eingeben:");
    lb_Ausgangstemperatur.setFont(new Font("Arial", Font.BOLD, 14));
    cp.add(lb_Ausgangstemperatur);
    zf_Ausgangstemperatur.setBounds(232, 136, 161, 41);
    zf_Ausgangstemperatur.setText("");
    zf_Ausgangstemperatur.setFont(new Font("Arial", Font.BOLD, 14));
    cp.add(zf_Ausgangstemperatur);
    sf_Berechnen.setBounds(152, 248, 209, 49);
    sf_Berechnen.setText("berechnen!");
    sf_Berechnen.setMargin(new Insets(2, 2, 2, 2));
    sf_Berechnen.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent evt) { 
        sf_Berechnen_ActionPerformed(evt);
      }
    });
    sf_Berechnen.setFont(new Font("Arial", Font.BOLD, 14));
    cp.add(sf_Berechnen);
    sf_Felderleeren.setBounds(152, 536, 201, 41);
    sf_Felderleeren.setText("Felder leeren!");
    sf_Felderleeren.setMargin(new Insets(2, 2, 2, 2));
    sf_Felderleeren.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent evt) { 
        sf_Felderleeren_ActionPerformed(evt);
      }
    });
    sf_Felderleeren.setFont(new Font("Arial", Font.BOLD, 14));
    cp.add(sf_Felderleeren);
    setTitle("Temperaturumrechner");
    // Ende Komponenten
    
    setVisible(true);
  } // end of public temperaturumrechner
  
  // Anfang Methoden
  
  
  public void sf_Berechnen_ActionPerformed(ActionEvent evt) {
    //Benutzerangaben erfassen
    double ausgangstemperatur= zf_Ausgangstemperatur.getDouble();
    
    
    //Temperatur umrechnen
    
    if (cb_Celsius.isSelected() && cb_Fahrenheit.isSelected()) {
      JOptionPane.showMessageDialog(this,"Bitte nur eine Ausgangstemperatur auswählen!");
      zf_Ausgangstemperatur.clear();
      zf_Fahrenheit.clear();
      zf_Kelvin.clear();
      zf_Celsius.clear();
      
      
    } // end of if
    
    if (cb_Celsius.isSelected() && cb_Kelvin.isSelected()) {
      JOptionPane.showMessageDialog(this,"Bitte nur eine Ausgangstemperatur auswählen!");
      zf_Ausgangstemperatur.clear();
      zf_Fahrenheit.clear();
      zf_Kelvin.clear();
      zf_Celsius.clear();
      
    } // end of if
    
    if (cb_Kelvin.isSelected() && cb_Fahrenheit.isSelected()) {
      JOptionPane.showMessageDialog(this,"Bitte nur eine Ausgangstemperatur auswählen!");
      
      zf_Ausgangstemperatur.clear();
      zf_Fahrenheit.clear();
      zf_Kelvin.clear();
      zf_Celsius.clear();
      
    } // end of if
    
    else {
             
      if (cb_Celsius.isSelected()); {
        double fahrenheit= ((ausgangstemperatur*1.8)+32);
        zf_Fahrenheit.setDouble(fahrenheit,2);
        double kelvin= (ausgangstemperatur +273.15 );
        zf_Kelvin.setDouble(kelvin,2);
        zf_Celsius.setDouble(ausgangstemperatur,2);
      } // end of if
      
      if (cb_Kelvin.isSelected()) {
        double celsius= (ausgangstemperatur -273.15);
        zf_Celsius.setDouble(celsius,2);
        double fahrenheit= ((ausgangstemperatur * 1.8) - 459.67);
        zf_Fahrenheit.setDouble(fahrenheit,2);
        zf_Kelvin.setDouble(ausgangstemperatur,2);
      } // end of if
      
      if (cb_Fahrenheit.isSelected()) {
        double celsius=  ((ausgangstemperatur-32)/ 1.8);
        zf_Celsius.setDouble(celsius,2);
        double kelvin= ((ausgangstemperatur + 459.67)/1.8); 
        zf_Kelvin.setDouble(kelvin,2);
        zf_Fahrenheit.setDouble(ausgangstemperatur,2);
      } // end of if
      
      
    } // end of if-else 
    
    
  } // end of sf_Berechnen_ActionPerformed
  
  
  public void sf_Felderleeren_ActionPerformed(ActionEvent evt) {
    
    //Felder leeren
    zf_Ausgangstemperatur.clear();
    zf_Fahrenheit.clear();
    zf_Kelvin.clear();
    zf_Celsius.clear();
  } // end of sf_Felderleeren_ActionPerformed
  
  // Ende Methoden
  
  public static void main(String[] args) {
    new temperaturumrechner("Temperaturrechner");
  } // end of main
  
} // end of class temperaturumrechner
 
boah ich kann nich schlafen...

deswegen hier meine Loesung...

Main.java
Java:
package de.mroedig.temperatur;

import java.awt.EventQueue;

import de.mroedig.temperatur.gui.UmrechnerGui;

public class Main {

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			@Override
			public void run() {
				try {
					UmrechnerGui frame = new UmrechnerGui();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}
}

UmrechnerGui.java
Java:
package de.mroedig.temperatur.gui;

import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.BoxLayout;
import javax.swing.ButtonGroup;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JTextField;
import javax.swing.border.EmptyBorder;

import de.mroedig.temperatur.TemperaturUmrechner;
import de.mroedig.temperatur.exceptions.TemperaturZuGeringException;

public class UmrechnerGui extends JFrame {

	/**
	 * serial
	 */
	private static final long serialVersionUID = -8812005735717547971L;
	private final JPanel contentPane;
	private JTextField eingabe;
	private JTextField ausgabeLinks;
	private JTextField ausgabeRechts;
	private JPanel inneresPanel;

	/**
	 * Create the frame.
	 */
	public UmrechnerGui() {
		contentPane = new JPanel();
		konfiguriereDieStruktur();
		erstelleContent();
	}

	private void konfiguriereDieStruktur() {
		setResizable(false);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 318, 135);
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(new BorderLayout(0, 0));
	}

	private void erstelleContent() {
		JPanel panel = erstelleInneresPanel();
		erstelleRadioButtons(panel);
		erstelleTextfelder();
	}

	private JPanel erstelleInneresPanel() {
		JPanel panel = new JPanel();
		contentPane.add(panel, BorderLayout.CENTER);
		panel.setLayout(new BoxLayout(panel, BoxLayout.X_AXIS));
		return panel;
	}

	private void erstelleTextfelder() {
		eingabe = new JTextField();
		contentPane.add(eingabe, BorderLayout.NORTH);
		eingabe.setColumns(10);

		inneresPanel = new JPanel();
		contentPane.add(inneresPanel, BorderLayout.SOUTH);
		inneresPanel.setLayout(new GridLayout(0, 2, 0, 0));

		ausgabeLinks = new JTextField();
		inneresPanel.add(ausgabeLinks);
		ausgabeLinks.setColumns(10);
		ausgabeRechts = new JTextField();
		inneresPanel.add(ausgabeRechts);
		ausgabeRechts.setColumns(10);
	}

	private void erstelleRadioButtons(JPanel panel) {

		ButtonGroup radioButtons = new ButtonGroup();

		JRadioButton fahrenheitRadio = new JRadioButton("Fahrenheit");
		panel.add(fahrenheitRadio);

		JRadioButton celsiusRadio = new JRadioButton("Celsius");
		panel.add(celsiusRadio);

		JRadioButton kelvinRadio = new JRadioButton("Kelvin");
		panel.add(kelvinRadio);

		fahrenheitRadio.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				try {
					ausgabeLinks.setText(TemperaturUmrechner
							.rechneFahrenheitToCelsius(eingabe.getText()) + "C");
				} catch (NumberFormatException e1) {
					ausgabeLinks.setText("Eingabeformat falsch");
				}
				try {
					ausgabeRechts.setText(TemperaturUmrechner
							.rechneFahrenheitToKelvin(eingabe.getText()) + "K");
				} catch (NumberFormatException e1) {
					ausgabeRechts.setText("Eingabeformat falsch");
				} catch (TemperaturZuGeringException e1) {
					ausgabeRechts.setText(e1.getMessage());
				}
			}
		});

		kelvinRadio.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				try {
					ausgabeLinks.setText(TemperaturUmrechner
							.rechneKelvinToCelsius(eingabe.getText()) + "C");
				} catch (NumberFormatException e1) {
					ausgabeLinks.setText("Eingabeformat falsch");
				}
				try {
					ausgabeRechts.setText(TemperaturUmrechner
							.rechneKelvinToFahrenheit(eingabe.getText()) + "F");
				} catch (NumberFormatException e1) {
					ausgabeRechts.setText("Eingabeformat falsch");
				}
			}
		});

		celsiusRadio.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				try {
					ausgabeLinks.setText(TemperaturUmrechner
							.rechneCelsiusToFahrenheit(eingabe.getText()) + "F");
				} catch (NumberFormatException e1) {
					ausgabeLinks.setText("Eingabeformat falsch");
				}
				try {
					ausgabeRechts.setText(TemperaturUmrechner
							.rechneCelsiusToKelvin(eingabe.getText()) + "K");
				} catch (NumberFormatException e1) {
					ausgabeRechts.setText("Eingabeformat falsch");
				} catch (TemperaturZuGeringException e1) {
					ausgabeRechts.setText(e1.getMessage());
				}
			}
		});

		radioButtons.add(kelvinRadio);
		radioButtons.add(fahrenheitRadio);
		radioButtons.add(celsiusRadio);
	}
}

TemperaturZuGeringException.java
Java:
package de.mroedig.temperatur.exceptions;

public class TemperaturZuGeringException extends Exception {

	/**
	 * serial
	 */
	private static final long serialVersionUID = -1051205084069443390L;

	public TemperaturZuGeringException(String string) {
		super(string);
	}

}

TemperaturUmrechner.java
Java:
package de.mroedig.temperatur;

import de.mroedig.temperatur.exceptions.TemperaturZuGeringException;

public class TemperaturUmrechner {

	public static double rechneFahrenheitToCelsius(double wert) {

		return wert * 1.8 + 32;
	}

	public static double rechneCelsiusToFahrenheit(double wert) {

		return (wert - 32) * 5 / 9.0;
	}

	public static double rechneCelsiusToKelvin(double wert)
			throws TemperaturZuGeringException {
		if (wert < -273.15) {
			throw new TemperaturZuGeringException("Temperatur ist zu gering");
		}
		return wert + 273.15;
	}

	public static double rechneKelvinToCelsius(double wert) {
		return wert - 273.15;
	}

	public static double rechneKelvinToFahrenheit(double wert) {
		return rechneCelsiusToFahrenheit(rechneKelvinToCelsius(wert));
	}

	public static double rechneFahrenheitToKelvin(double wert)
			throws TemperaturZuGeringException {
		return rechneCelsiusToKelvin(rechneFahrenheitToCelsius(wert));
	}

	public static String rechneFahrenheitToCelsius(String wert) {

		return formatiereDoubleToString(rechneFahrenheitToCelsius(Double
				.parseDouble(wert)));
	}

	public static String rechneCelsiusToFahrenheit(String wert) {

		return formatiereDoubleToString(rechneCelsiusToFahrenheit(Double
				.parseDouble(wert)));

	}

	public static String rechneCelsiusToKelvin(String wert)
			throws TemperaturZuGeringException {

		return formatiereDoubleToString(rechneCelsiusToKelvin(Double
				.parseDouble(wert)));
	}

	public static String rechneKelvinToCelsius(String wert) {
		return formatiereDoubleToString(rechneKelvinToCelsius(Double
				.parseDouble(wert)));
	}

	public static String rechneKelvinToFahrenheit(String wert) {
		return formatiereDoubleToString(rechneKelvinToFahrenheit(Double
				.parseDouble(wert)));
	}

	public static String rechneFahrenheitToKelvin(String wert)
			throws TemperaturZuGeringException {
		return formatiereDoubleToString(rechneFahrenheitToKelvin(Double
				.parseDouble(wert)));
	}

	public static String formatiereDoubleToString(Double eingabe) {
		return String.format("%1$,.2f", eingabe);
	}
}

[OT]ja shit... spoilern geht nicht...[/OT]

Erklaerung:
Eine Gui, die alle Elemente enthaelt, die man da sieht.
Jeder RadioButton hat einen Actionlistener, der die UTIL Klasse TemperaturUmrechner.java nach den Werten fragt. Die Klasse liefert statische Methoden, da sie vollkommen entkoppelt ist und sie keine Variablen besitzt, die von Interesse waeren.

Main startet das Programm...

und die Exception schreibt einen Fehler, falls die Temperatur falsch ist -
man koennte die Exceptions evtl noch schoener fangen, aber ich habe mich hier fuer 2 try-catches entschieden, weil es ja 2 verschiedene Felder sind, und 1 davon kann ja funktionieren
 
Zuletzt bearbeitet:
da dreht sich mein magen aber immer noch um ... extends JFrame ... WARUM bitte ?

ach weil ich das immer schon so gemacht hab :/

ich wollts mir abgewoehnen... aber naja... wart mal...

Java:
package de.mroedig.temperatur.gui;

import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.ButtonGroup;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JTextField;
import javax.swing.border.EmptyBorder;

import de.mroedig.temperatur.TemperaturUmrechner;
import de.mroedig.temperatur.exceptions.TemperaturZuGeringException;

public class UmrechnerGui {

	private final JPanel contentPane;
	private JTextField eingabe;
	private JTextField ausgabeLinks;
	private JTextField ausgabeRechts;
	private JPanel inneresPanel;
	private final JFrame hauptGui;
	private JPanel panel_1;

	/**
	 * Create the frame.
	 */
	public UmrechnerGui() {
		hauptGui = new JFrame("Temperaturumrechner");
		contentPane = new JPanel();
		konfiguriereDieGui();
		erstelleContent();
	}

	private void konfiguriereDieGui() {
		hauptGui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		hauptGui.setBounds(100, 100, 318, 135);
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		hauptGui.setContentPane(contentPane);
		contentPane.setLayout(new BorderLayout(0, 0));
		hauptGui.setVisible(true);
	}

	private void erstelleContent() {
		JPanel panel = erstelleInneresPanel();
		erstelleRadioButtons(panel);
		erstelleTextfelder();
	}

	private JPanel erstelleInneresPanel() {
		panel_1 = new JPanel();
		contentPane.add(panel_1, BorderLayout.CENTER);
		return panel_1;
	}

	private void erstelleTextfelder() {
		eingabe = new JTextField();
		contentPane.add(eingabe, BorderLayout.NORTH);
		eingabe.setColumns(10);

		inneresPanel = new JPanel();
		contentPane.add(inneresPanel, BorderLayout.SOUTH);
		inneresPanel.setLayout(new GridLayout(0, 2, 0, 0));

		ausgabeLinks = new JTextField();
		ausgabeLinks.setEditable(false);
		inneresPanel.add(ausgabeLinks);
		ausgabeLinks.setColumns(10);
		ausgabeRechts = new JTextField();
		ausgabeRechts.setEditable(false);
		inneresPanel.add(ausgabeRechts);
		ausgabeRechts.setColumns(10);
	}

	private void erstelleRadioButtons(JPanel panel) {

		ButtonGroup radioButtons = new ButtonGroup();
		panel_1.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5));

		JRadioButton fahrenheitRadio = new JRadioButton("Fahrenheit");
		panel.add(fahrenheitRadio);

		JRadioButton celsiusRadio = new JRadioButton("Celsius");
		panel.add(celsiusRadio);

		JRadioButton kelvinRadio = new JRadioButton("Kelvin");
		panel.add(kelvinRadio);

		fahrenheitRadio.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				try {
					ausgabeLinks.setText(TemperaturUmrechner
							.rechneFahrenheitToCelsius(eingabe.getText()) + "C");
				} catch (NumberFormatException e1) {
					ausgabeLinks.setText("Eingabeformat falsch");
				}
				try {
					ausgabeRechts.setText(TemperaturUmrechner
							.rechneFahrenheitToKelvin(eingabe.getText()) + "K");
				} catch (NumberFormatException e1) {
					ausgabeRechts.setText("Eingabeformat falsch");
				} catch (TemperaturZuGeringException e1) {
					ausgabeRechts.setText(e1.getMessage());
				}
			}
		});

		kelvinRadio.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				try {
					ausgabeLinks.setText(TemperaturUmrechner
							.rechneKelvinToCelsius(eingabe.getText()) + "C");
				} catch (NumberFormatException e1) {
					ausgabeLinks.setText("Eingabeformat falsch");
				}
				try {
					ausgabeRechts.setText(TemperaturUmrechner
							.rechneKelvinToFahrenheit(eingabe.getText()) + "F");
				} catch (NumberFormatException e1) {
					ausgabeRechts.setText("Eingabeformat falsch");
				}
			}
		});

		celsiusRadio.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				try {
					ausgabeLinks.setText(TemperaturUmrechner
							.rechneCelsiusToFahrenheit(eingabe.getText()) + "F");
				} catch (NumberFormatException e1) {
					ausgabeLinks.setText("Eingabeformat falsch");
				}
				try {
					ausgabeRechts.setText(TemperaturUmrechner
							.rechneCelsiusToKelvin(eingabe.getText()) + "K");
				} catch (NumberFormatException e1) {
					ausgabeRechts.setText("Eingabeformat falsch");
				} catch (TemperaturZuGeringException e1) {
					ausgabeRechts.setText(e1.getMessage());
				}
			}
		});
		radioButtons.add(kelvinRadio);
		radioButtons.add(fahrenheitRadio);
		radioButtons.add(celsiusRadio);
	}

}

besser?

und Danke fuer die Hinweise, auch das mit dem Spoiler 🙂
Neues Forum, neue Features, erstmal dran gewoehnen
 
Zuletzt bearbeitet:

Zurück
Oben