Felder bei falscher Eingabe leeren

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...
 

Phash

Top Contributor
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...
 

twinflyer

Mitglied
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
 
E

Ente_

Gast
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
 

Phash

Top Contributor
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:

Phash

Top Contributor
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:
Ähnliche Java Themen
  Titel Forum Antworten Datum
U HILFE! - per ActionListener Felder enablen....... Java Basics - Anfänger-Themen 5
M Werte in Felder speichern und geordnet ausgeben Java Basics - Anfänger-Themen 8
A Felder: arithmetisches und geometrisches Mittel Java Basics - Anfänger-Themen 3
L Datentypen Deklarierte Felder einer Generic Klasse bestimmen Java Basics - Anfänger-Themen 7
Elyt Bei Monopoly werden Felder übersprungen Java Basics - Anfänger-Themen 2
L Listen und Felder Java Basics - Anfänger-Themen 2
neerual Int-Felder erzeugen Java Basics - Anfänger-Themen 16
P Felder König array Java Basics - Anfänger-Themen 6
T Art 4 Felder Matrix Memory Java Basics - Anfänger-Themen 2
P Zugriff auf Felder in ArrayList Objekten Java Basics - Anfänger-Themen 2
D Felder Java Basics - Anfänger-Themen 2
D Übung Felder java Error kompilieren Java Basics - Anfänger-Themen 4
M Felder leer - überprüfen? Java Basics - Anfänger-Themen 2
S reflection und felder Java Basics - Anfänger-Themen 12
X Verknüpfte Excel Felder mitändern Java Basics - Anfänger-Themen 6
Z Erste Schritte 9x9 Felder Erzeugen+Aufrufen Java Basics - Anfänger-Themen 1
S Wie instanziert man Felder? Java Basics - Anfänger-Themen 11
V Zwei Felder Adderen Java Basics - Anfänger-Themen 2
W Methoden Falsche Felder von Methode belgegt Java Basics - Anfänger-Themen 14
M Spielfeld mit 10x10 Felder Java Basics - Anfänger-Themen 13
S Felder mit Variablen/Tabellen verknüpfen! Java Basics - Anfänger-Themen 3
M Felder mit Methode verändern Java Basics - Anfänger-Themen 11
W Datentypen Felder mit Potenzen Java Basics - Anfänger-Themen 31
C Erste Schritte felder, die public final sind Java Basics - Anfänger-Themen 6
B Frage zur Effizienz - alle Array-Felder initialisieren oder jedes Feld auf null prüfen? Java Basics - Anfänger-Themen 4
C Felder(Größte Zahl, Index) Java Basics - Anfänger-Themen 6
K Felder Java Basics - Anfänger-Themen 5
M 3 Felder, Barcode, reinschreiben in die DB Java Basics - Anfänger-Themen 30
D Datentypen Felder: Deklaration und Initialisierung Java Basics - Anfänger-Themen 5
C Java Felder bearbeiten Hilfe Java Basics - Anfänger-Themen 4
H Felder mit unterschiedl. Typen sortieren Java Basics - Anfänger-Themen 5
B n-dimensionale Felder in m-dimensionale Felder konvertiert Java Basics - Anfänger-Themen 30
H felder vergleichen Java Basics - Anfänger-Themen 6
F Felder von aufrufender Klasse ändern Java Basics - Anfänger-Themen 16
A Felder Java Basics - Anfänger-Themen 7
A Mehrdimensionale Felder Java Basics - Anfänger-Themen 18
C Felder im Dialog zurücksetzen Java Basics - Anfänger-Themen 3
E Wechselnde Felder erzeugen Java Basics - Anfänger-Themen 15
maddin86 Eine Methode für ein- und zweidimensionale double Felder als Parameter? Java Basics - Anfänger-Themen 5
A Felder- Minimum/Maximum Java Basics - Anfänger-Themen 2
D Felder Java Basics - Anfänger-Themen 7
D Felder Java Basics - Anfänger-Themen 2
T Border Layout alle mittleren felder gleich groß Java Basics - Anfänger-Themen 3
C Speicherverwaltung für Felder Java Basics - Anfänger-Themen 8
S EINDIMENSIONALE FELDER? Java Basics - Anfänger-Themen 23
G 3. Aufgaben und komme nicht weiter (Felder, Methoden) Java Basics - Anfänger-Themen 3
M Felder (Wo liegt der Fehler?) Java Basics - Anfänger-Themen 2
D Wie werden Felder grau? Java Basics - Anfänger-Themen 26
S generische Felder Java Basics - Anfänger-Themen 2
A Felder Java Basics - Anfänger-Themen 3
D String mit split teilen und leere Felder behalten Java Basics - Anfänger-Themen 4
R Felder unterschiedlichen Typs Java Basics - Anfänger-Themen 9
J 2 Felder aus DB selektieren u. in JList - eines verstecken? Java Basics - Anfänger-Themen 7
T Suche über mehrere Felder value = key = value Java Basics - Anfänger-Themen 3
B Array doppelt Felder löschen Java Basics - Anfänger-Themen 27
B clone(), Clonable und Felder von Interfacetypen Java Basics - Anfänger-Themen 3
G Felder kopieren Java Basics - Anfänger-Themen 8
G Felder-Länge Java Basics - Anfänger-Themen 2
G Felder zurückgeben? Java Basics - Anfänger-Themen 3
C Früheste Datum aus 3 Felder Java Basics - Anfänger-Themen 20
M Felder innerhalb eines Arrays vergleichen Java Basics - Anfänger-Themen 2
D Felder vergleichen Java Basics - Anfänger-Themen 14
D Verbindung von Methoden und Felder Java Basics - Anfänger-Themen 3
A Aus dem menü heraus andere Felder bearbeiten Java Basics - Anfänger-Themen 2
S Statische Felder - statische Methoden Java Basics - Anfänger-Themen 2
G variable felder in java? geht das? Java Basics - Anfänger-Themen 4
F Falscher Link zum Path? Unterschiedliche Antworten bei Eclipse und VisualStudiocode Java Basics - Anfänger-Themen 5
N Exception werfen bei falscher Datumseingabe Java Basics - Anfänger-Themen 14
P falscher booleanwert bei toString Java Basics - Anfänger-Themen 4
N Fehlerausgabe bei falscher Eingabe der Users Java Basics - Anfänger-Themen 3
B Email versand - aber akzeptiert auch falscher Username und Passwort??? Java Basics - Anfänger-Themen 1
L Bei falscher Eingabe soll NaN zurückgegeben werden, Rückgabetyp jedoch double Java Basics - Anfänger-Themen 3
H if-Abfrage, ungleich und falscher true Wert? Java Basics - Anfänger-Themen 11
J Erste Schritte Falscher case wir ausgeben Java Basics - Anfänger-Themen 11
M Ausgabe in falscher Reihenfolge Java Basics - Anfänger-Themen 7
P Classpath falscher Classpath, aber nicht immer Java Basics - Anfänger-Themen 19
B Erste Schritte Eclipse Indigo sucht jvm.dll an "falscher" Stelle Java Basics - Anfänger-Themen 2
N falscher Wochentag GreogrianCalendar Java Basics - Anfänger-Themen 6
A Falscher Return-Wert Java Basics - Anfänger-Themen 2
L Fehlermeldung bei falscher Berechnung anzeigen Java Basics - Anfänger-Themen 31
A OOP falscher Code Java Basics - Anfänger-Themen 8
F Abbruch eines Objektes bei falscher eingabe Java Basics - Anfänger-Themen 14
S falscher return type ? Java Basics - Anfänger-Themen 4
Torschti Eingabe von Dezimalzahlen (bis zu zwei Kommastellen) Java Basics - Anfänger-Themen 11
T User input in Verbindung mit ChronoUnit anpassen und falls falsche Eingabe getätigtwird Java Basics - Anfänger-Themen 7
T Eingabe durch eine Zahl dividieren nachgucken? Java Basics - Anfänger-Themen 4
T sortierung der eingabe nach größe Java Basics - Anfänger-Themen 5
Ostkreuz Int Scanner auf Enter Eingabe prüfen Java Basics - Anfänger-Themen 4
G Programm läuft durch, ohne Eingabe aus dem Chat abzuwarten Java Basics - Anfänger-Themen 4
Jul1n4tor Scanner error bei Eingabe die kein Integer ist Java Basics - Anfänger-Themen 4
S Größte Zahl nach Eingabe der Zahl 0 ausgeben Java Basics - Anfänger-Themen 6
M Dialogbox sofort neustarten, falls aktuelle Eingabe falsch Java Basics - Anfänger-Themen 11
M Dialogbox solange abfragen, bis gültige Wert-Eingabe Java Basics - Anfänger-Themen 12
S OOP Java Eingabe in verschiedene Datenbank Tabellen eintragen Java Basics - Anfänger-Themen 7
A Bei VierGewinnt Eingabe per Buchstabe (a,b,c...) Java Basics - Anfänger-Themen 2
java-starter Erste Schritte Eingabe in Char wert umwandeln Java Basics - Anfänger-Themen 7
Lion.King Subtraktion nach Eingabe im Terminal Java Basics - Anfänger-Themen 7
X Erste Schritte Scanner eingabe wird übersprungen Java Basics - Anfänger-Themen 4
L Dauerhaftes Speichern einer Eingabe bei einer ArrayList Java Basics - Anfänger-Themen 26
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 0

Ähnliche Java Themen

Neue Themen


Oben