Negative Werte abfangen

Status
Nicht offen für weitere Antworten.

mics123

Mitglied
Moin!

Habe einen Währungsrechner mit Windowsoberfläche programmiert.

Es gibt zwei Aktenreiter, einer davon heißt "Kurse".
Dort werden die Umrechnungskurse gespeichert, mit denen gerechnet werden soll.
Zum Speichern gibt es einen Button "Speichern".

Wenn ich in einem Kursfeld, meinetwegen EURO > US-DOLLAR, ein "e" eingebe, kommt ne Fehlermeldung "Keine gültigen Kurse."

Soweit, so gut.

Ich kann aber auch negative Kurse, also z.B. -3 oder auch ne 0 eingeben ... und das will ich abfangen!
Es soll dann nicht gespeichert werden können ... evtl. soll der Benutzer auch solange nicht aus dem fehlerhaften Feld kommen, bis er einen korrekten Kurs eingegeben hat.

Kann mir einer sagen wie das geht?

Hier der entsprechende Quellcode:
Code:
private void Speichern()
{
if (speichern == true)
{
// Die benötigten Variable werden deklariert und initialisiert
String kurs_leer = "";
double kurs_dollar = 0;
double kurs_pfund = 0;
double kurs_franken = 0;
double kurs_hkd = 0;
double kurs_yen = 0;
double kurs_dm = 1.95583;

// Es wird ein Array benötigt ... und dieses Array wird hier erzeugt
double[] KursArray = new double[6];

// Hier wird geprüft, ob Kurse gültige double-Werte sind ... Schreiben in Array
try
{
// Umrechnung Euro in Dollar
kurs_leer = edit_euro_dollar.getText();
kurs_dollar = Double.valueOf( kurs_leer).doubleValue();
KursArray[0] = kurs_dollar;

// Umrechnung Euro in Pfund
kurs_leer = edit_euro_pfund.getText();
kurs_pfund = Double.valueOf( kurs_leer).doubleValue();
KursArray[1] = kurs_pfund;

// Umrechnung Euro in Franken
kurs_leer = edit_euro_franken.getText();
kurs_franken = Double.valueOf( kurs_leer).doubleValue();
KursArray[2] = kurs_franken;

// Umrechnung Euro in Hong Kong Dollar
kurs_leer = edit_euro_hkd.getText();
kurs_hkd = Double.valueOf( kurs_leer).doubleValue();
KursArray[3] = kurs_hkd;

// Umrechnung Euro in Yen
kurs_leer = edit_euro_yen.getText();
kurs_yen = Double.valueOf( kurs_leer).doubleValue();
KursArray[4] = kurs_yen;

// Umrechunng Euro in DM ... da auf jeden Fall double-Wert (Grund: readOnly)
edit_euro_dm.getText();
KursArray[5] = kurs_dm;

try
{
ObjectOutputStream ou = new ObjectOutputStream (new FileOutputStream ("Kursdatei.obj"));
ou.writeObject(KursArray);
ou.flush ();
ou.close ();

// Hinweis, dass die Kurse gespeichert wurden
label_fehler_kurse.setText("Kurse gespeichert!");
label_fehler_kurse.update();
}

/* Wenn Kurs-Datei nicht gespeichert werden konnte, vielleicht wegen des aktiv. Schreibschutzes ... Fehlermeldung ausgeben!
*/
catch (Exception E6)
{
label_fehler_kurse.setText("Fehler beim Speichern. Schreibschutz aktiviert?");
}
}

// Fehlermeldung auch, wenn die eingegeben Kurse trotz Hinweis gespeichert werden sollen
catch (Exception E7)
{
label_fehler_kurse.setText("Kurse wurden nicht gespeichert. Bitte ALLE Kurse korrekt eingeben. ");
}
}
}

Gruß und Danke,
Michael
 

Dreezard

Bekanntes Mitglied
also ein wert kleiner null wird keine exception auslösen. Das wäre auch nicht notwendig. Du könntest das doch einfach mit
if(wert <= 0) {...}
überprüfen und darauf entsprechend reagieren

too late...
 

Dreezard

Bekanntes Mitglied
Also bei jeder Zeile wie:
Code:
kurs_leer = edit_euro_dollar.getText(); 
kurs_dollar = Double.valueOf( kurs_leer).doubleValue(); 
KursArray[0] = kurs_dollar;

Also:
Code:
kurs_leer = edit_euro_dollar.getText(); 
kurs_dollar = Double.valueOf( kurs_leer).doubleValue(); //Die zeile kann man auch : Double.parseDouble(kurs_leer);  schreiben
if(kurs_dollar <= 0) {
...
}
else
     KursArray[0] = kurs_dollar;
 

mics123

Mitglied
Habe ich gemacht, der Code sieht jetzt so aus:

Code:
try
			{
				// Umrechnung Euro in Dollar
				
				kurs_leer = edit_euro_dollar.getText();
				kurs_dollar = Double.valueOf( kurs_leer).doubleValue();
				if (kurs_dollar <= 0)
					{
					label_fehler_kurse.setText("Bitte keine negativen Werte und auch keine 0 eingeben");
					speichern = false;
					}
				else
				KursArray[0] = kurs_dollar;
				
				// Umrechnung Euro in Pfund
			
				kurs_leer = edit_euro_pfund.getText();
				kurs_pfund = Double.valueOf( kurs_leer).doubleValue();
				if (kurs_pfund <= 0)
					{
					label_fehler_kurse.setText("Bitte keine negativen Werte und auch keine 0 eingeben");
					speichern = false;
					}
				else
				KursArray[1] = kurs_pfund;
				
				// Umrechnung Euro in Franken
			
				kurs_leer = edit_euro_franken.getText();
				kurs_franken = Double.valueOf( kurs_leer).doubleValue();
				if (kurs_franken <= 0)
					{
					label_fehler_kurse.setText("Bitte keine negativen Werte und auch keine 0 eingeben");
					speichern = false;
					}
				else
				KursArray[2] = kurs_franken;
				
				// Umrechnung Euro in Hong Kong Dollar
				
				kurs_leer = edit_euro_hkd.getText();
				kurs_hkd = Double.valueOf( kurs_leer).doubleValue();
				if (kurs_hkd <= 0)
					{
					label_fehler_kurse.setText("Bitte keine negativen Werte und auch keine 0 eingeben");
					speichern = false;
					}
				else
				KursArray[3] = kurs_hkd;
				
				// Umrechnung Euro in Yen
			
				kurs_leer = edit_euro_yen.getText();
				kurs_yen = Double.valueOf( kurs_leer).doubleValue();
				if (kurs_yen <= 0)
					{
					label_fehler_kurse.setText("Bitte keine negativen Werte und auch keine 0 eingeben");
					speichern = false;
					}
				else
				KursArray[4] = kurs_yen;
				
				// Umrechunng Euro in DM ... da auf jeden Fall double-Wert (Grund: readOnly)
				edit_euro_dm.getText();
				KursArray[5] = kurs_dm;
				
				try
				{
					ObjectOutputStream ou = new ObjectOutputStream (new FileOutputStream ("Kursdatei.obj"));
					ou.writeObject(KursArray);
					ou.flush ();
					ou.close ();
				
					// Hinweis, dass die Kurse gespeichert wurden
					label_fehler_kurse.setText("Kurse gespeichert!");
					label_fehler_kurse.update();
				}
			
				/* Wenn Kurs-Datei nicht gespeichert werden konnte, vielleicht wegen des aktiv. Schreibschutzes
				   Fehlermeldung ausgeben!
				*/
				catch (Exception E6)
				{
					label_fehler_kurse.setText("Fehler beim Speichern. Schreibschutz aktiviert?");
				}
			}
		
			// Fehlermeldung auch, wenn die eingegeben Kurse trotz Hinweis gespeichert werden sollen
			catch (Exception E7)
			{
				label_fehler_kurse.setText("Kurse wurden nicht gespeichert. Bitte ALLE Kurse korrekt eingeben. "); 
			}
		}
	}

Die Werte werden aber noch immer gespeichert ... was kann ich tun?
 

Dreezard

Bekanntes Mitglied
in der if-bedingung setzt du 'speichern' auf false. Das solltest du beim speichern auch abfragen. Also einfach:
Code:
if(speichern) {
   ObjectOutputStream ou = new ObjectOutputStream (new FileOutputStream ("Kursdatei.obj"));
   ou.writeObject(KursArray); 
   ou.flush (); 
   ou.close (); 
       
   // Hinweis, dass die Kurse gespeichert wurden 
   label_fehler_kurse.setText("Kurse gespeichert!"); 
   label_fehler_kurse.update(); 
}
 

mics123

Mitglied
Hmm ... daran lag es nicht, das habe ich nun überall geändert und jeweils immer speichern auf true gesetzt,

Aber ich habe weiter oben noch
Code:
 private void b_speichern_click(Object source, Event e)
		{
		speichern = true;
		Speichern();
		speichern = false;
		}

Muss ich da auch irgendwas ändern?
 

mics123

Mitglied
Ah, ich habe gerade gemerkt dass er die Werte gar nicht abspeichert, sondern die entsprechenden Kurse immer wieder auf 0 setzt. So ist´s ja okay! Vielen Dank dafür!

Aber ich habe noch ein anderes Problem:
Wenn ich einen negativen Kurs eingebe, nicht beende und dann nach einem Klick auf einen anderen Aktenreiter mit Namen "Umrechnen" klicke, die Währung mit der fehlerhaften Eingabe auswähle und umrechnen will, rechnet er trotzdem um ... und zwar mit dem negativen Wert!!!! Kann ich das auch irgendwie verhindern?
 

mics123

Mitglied
Okay ...
Code:
import com.ms.wfc.app.*;
import com.ms.wfc.core.*;
import com.ms.wfc.ui.*;
import com.ms.wfc.html.*;
import java.io.*;
import java.math.BigDecimal;

/**
 * Diese Klasse kann eine variable Anzahl von Parameter auf der Befehlszeile
 * entgegennehmen. Die Programmausführung startet mit der Methode main(). Der
 * Klassenkonstruktor wird nicht aufgerufen, bevor nicht ein Objekt vom Typ 'Form1'
 * in der Methode main() erstellt wird.
 */
public class Form1 extends Form
{
	// Kurse bei Programmstart noch nicht speichern
	public boolean speichern = false;
		
	public Form1()
	{
		// Erforderlich für die Unterstützung des Visual J++-Formulardesigners
		initForm();		
	
	if (rb_autoload.getChecked() == true)
	{
		// Methode Laden aufrufen
		Laden();
	}
}

	/**
	 * Form1 überlädt dispose, damit es die Komponentenliste
	 * bereinigen kann.
	 */
	
	// Automatisches Speichern der Kurse beim Klick auf (X)
	public void dispose()
	{
		try
		{	
			speichern = true;
			Speichern();
			speichern = false;
		}
		
		catch (Exception E1)
		{
			label_fehler_kurse.setText("Objekt konnte nicht gespeichert werden, Umrechnungskurse ueberpruefen.");
		}
		
		{
			Application.exit();	
		}		
	}
	
	/* 
	 * Steuerung des Betragsfeldes
	 */
	private void edit_betrag_textChanged(Object source, Event e)
	{
		// Ergebnisfeld loeschen
		label_ergebnis.setText("");
		
		// Deklarieren und intitialisieren der Variablen
		String string = "";
		double doublewert = 0;
	
		// Prüfen ob Eingabe ein double ist
		try
			{
			doublewert = Double.valueOf( edit_betrag.getText() ).doubleValue();
			label_fehler.setText("");
			}
		
		// ansonsten Fehlermeldung ausgeben
		catch (Exception E2)
			{
			label_fehler.setText("Bitte nur Zahlen eingeben.");
			}
		}	
	
	/*
	 * Bei Klick auf das Bild mit dem Taschenrechner soll umgerechnet werden ...
	 */ 
	private void pictureBox1_click(Object source, Event e)
		{
		// Die benötigten Variable werden deklariert und initialisiert
		double kurs = 0;
		double kurs1 = 0;
		double kurs2 = 0;
		double ergebnis = 0;
		double einheiten = 1;
		
		String von = "";
		String nach = "";
		
		boolean fehler = false;
		
		// Ist der eingegebene Wert eine korrekte Zahl?
		try
		{
			einheiten = Double.valueOf(edit_betrag.getText() ).doubleValue();
			label_fehler.setText("");
		}
		// Wenn nicht ... Fehlermeldung ausgeben
		catch (Exception E3)
		{
			label_fehler.setText("Bitte nur Zahlen eingeben ...");
			fehler = true;
		}
		
		/*
		 * Jetzt werden die von- und nach-Währungen mit Aktionen belegt ... d.h. was soll passieren wenn
	     * dieser oder jener RadioButton aktiviert wird?
		 */
		
		try
		{
			// Umrechnung Euro --> andere Währung
			if(rb_euro_basis.getChecked () == true)
			{
					von = "EUR";
											
				// Umrechnung Euro --> Euro
				if (rb_euro_ziel.getChecked() == true)
				{
					kurs = 1;
					nach = "EUR";
				}
				
				// Umrechung Euro nach US-Dollar
				else if (rb_dollar_ziel.getChecked() == true)
				{
					kurs = Double.valueOf( edit_euro_dollar.getText() ).doubleValue();
					nach = "USD";
				}
				
				// Umrechnung Euro nach Britische Pfund
				else if (rb_pfund_ziel.getChecked() == true)
				{
					kurs = Double.valueOf( edit_euro_pfund.getText() ).doubleValue();
					nach = "GBP";
				}
					
				// Umrechnung Euro nach Schweizer Franken
				else if (rb_franken_ziel.getChecked() == true)
				{
					kurs = Double.valueOf( edit_euro_franken.getText() ).doubleValue();
					nach = "CHF";
				}
					
				// Umrechnung Euro nach Ukrainische Dollar
				else if (rb_hkd_ziel.getChecked() == true)
				{
					kurs = Double.valueOf( edit_euro_hkd.getText() ).doubleValue();
					nach = "HKD";
				}
				
				// Umrechnung Euro nach DM
				else if (rb_dm_ziel.getChecked() == true)
				{
					kurs = Double.valueOf( edit_euro_dm.getText() ).doubleValue();
					nach = "DM";
				}
				
				// Umrechnung Euro nach Yen
				else if (rb_yen_ziel.getChecked() == true)
				{
					kurs = Double.valueOf( edit_euro_yen.getText() ).doubleValue();
					nach = "YEN";
				}
				
				if (kurs > 0)
				{
					// Formel für Umrechnung
					ergebnis = einheiten * kurs;
					// Runden auf 2 Nachkommastellen
					BigDecimal gerundet1 = new BigDecimal(ergebnis);
					BigDecimal gerundet2 = gerundet1.setScale(2,BigDecimal.ROUND_HALF_UP);
					// Ergebnis ausgeben
					label_ergebnis.setText(einheiten + " " + von + " entsprechen " + gerundet2 + " " + nach + ".");
				}
				
				// Wenn der Umrechungskurs 0 ist ... Fehlermeldung ausgeben
				else
				{
					label_fehler.setText("Umrechnungskurs ist 0 oder negativ!");
				}
			}
		
			// Umrechnungen "Nicht-Euro-Währung" in "Nicht-Euro-Währung"
			else if (rb_euro_basis.getChecked() == false)
			{
				// von "Nicht-Euro" nach Euro
				if (rb_euro_ziel.getChecked() == true)
				{
						nach = "EUR";
									
					// von "Nicht-Euro" in US-Dollar
					if (rb_dollar_basis.getChecked() == true) 
					{
						kurs = Double.valueOf(edit_euro_dollar.getText() ).doubleValue();
						von = "USD";
						
					}
					
					// von "Nicht-Euro" in Brit. Pfund
					else if (rb_pfund_basis.getChecked() == true)
					{
						kurs = Double.valueOf(edit_euro_pfund.getText() ).doubleValue();
						von = "GBP";
					}
					
					// von "Nicht-Euro" in Schw. Franken
					else if (rb_franken_basis.getChecked() == true)
					{
						kurs = Double.valueOf(edit_euro_franken.getText() ).doubleValue();
						von = "CHF";
					}
					
					// von "Nicht-Euro" in Hong Kong Dollar
					else if (rb_hkd_basis.getChecked() == true)
					{
						kurs = Double.valueOf(edit_euro_hkd.getText() ).doubleValue();
						von = "HKD";
					}
					
					// von "Nicht-Euro" in DM
					else if (rb_dm_basis.getChecked() == true)
					{
						kurs = Double.valueOf(edit_euro_dm.getText() ).doubleValue();
						von = "DM";
					}
					
					// von "Nicht-Euro" in Yen
					else if (rb_yen_basis.getChecked() == true)
					{
						kurs = Double.valueOf(edit_euro_yen.getText() ).doubleValue();
						von = "YEN";
					}
					
				   // Solange der Kurs nicht 0 ist, kann das Ergebnis berechnet werden und
				   // Ergebnisfeld loeschen
				   label_ergebnis.setText("");
					
					if (kurs > 0)
					{
						// Formeln für Umrechnung (inkl. Kehrwert)
						kurs = 1 / kurs;
						ergebnis = einheiten * kurs;
						// Runden auf 2 Nachkommastellen
						BigDecimal gerundet1 = new BigDecimal(ergebnis);
						BigDecimal gerundet2 = gerundet1.setScale(2,BigDecimal.ROUND_HALF_UP);
						// Ergebnis ausgeben
						label_ergebnis.setText(einheiten + " " + von + " entsprechen " + gerundet2 + " " + nach + ".");
					}
					
					// Wenn der Umrechnungskurs 0 sein sollte ... Fehlermeldung ausgeben
					else
					{
						label_fehler.setText("Umrechnungskurs ist 0 oder negativ!");
					}
				}
			
				// Umrechnungen best. "Nicht-Euro-Währung" in "Nicht-Euro-Währung"
				else if (rb_euro_ziel.getChecked() == false)
				{
					// von Dollar nach "irgendwas"
					if (rb_dollar_basis.getChecked() == true)
					{
						kurs1 = Double.valueOf(edit_euro_dollar.getText() ).doubleValue();
						von = "USD";
					}
				
					// von nach Brit. Pfund nach "irgendwas" 
					if (rb_pfund_basis.getChecked() == true)
					{
						kurs1 = Double.valueOf(edit_euro_pfund.getText() ).doubleValue();
						von = "GBP";
					}
				
					// von Schw. Franken nach "irgendwas"
					if (rb_franken_basis.getChecked() == true)
					{
						kurs1 = Double.valueOf(edit_euro_franken.getText() ).doubleValue();
						von = "CHF";
					}
				
					// von Hong Kong Dollar nach "irgendwas"
					if (rb_hkd_basis.getChecked() == true)
					{
						kurs1 = Double.valueOf(edit_euro_hkd.getText() ).doubleValue();
						von = "HKD";
					}
				
					// von DM nach "irgendwas"
					if (rb_dm_basis.getChecked() == true)
					{
						kurs1 = Double.valueOf(edit_euro_dm.getText() ).doubleValue();
						von = "DM";
					}
				
					// von Yen nach "irgendwas"
					if (rb_yen_basis.getChecked() == true)
					{
						kurs1 = Double.valueOf(edit_euro_yen.getText() ).doubleValue();
						von = "YEN";
					}
				
					// und die Umrechnungen "andersherum" ...
					
					// von "irgendwas" nach Dollar
					if (rb_dollar_ziel.getChecked() == true)
					{
						kurs2 = Double.valueOf(edit_euro_dollar.getText() ).doubleValue();
						nach = "USD";
					}
				
					// von "irgendwas" nach Brit. Pfund
					if (rb_pfund_ziel.getChecked() == true)
					{
						kurs2 = Double.valueOf(edit_euro_pfund.getText() ).doubleValue();
						nach = "GBP";
					}
				
					// von "irgendwas" Schw. Franken
					if (rb_franken_ziel.getChecked() == true)
					{
						kurs2 = Double.valueOf(edit_euro_franken.getText() ).doubleValue();
						nach = "CHF";
					}
				
					// von "irgendwas" nach Hong Kong Dollar
					if (rb_hkd_ziel.getChecked() == true)
					{
						kurs2 = Double.valueOf(edit_euro_hkd.getText() ).doubleValue();
						nach = "HKD";
					}
				
					// von "irgendwas" nach DM
					if (rb_dm_ziel.getChecked() == true)
					{
						kurs2 = Double.valueOf(edit_euro_dm.getText() ).doubleValue();
						nach = "DM";
					}
					
					// von "irgendwas" nach Yen
					if (rb_yen_ziel.getChecked() == true)
					{
						kurs2 = Double.valueOf(edit_euro_yen.getText() ).doubleValue();
						nach = "YEN";
					}
					
					// Solange der Kurs nicht 0 ist, kann das Ergebnis berechnet werden und
				    // Ergebnisfeld loeschen
				    label_ergebnis.setText("");
					
					// So, und wenn der Umrechungskurs von Fremdwährung nach Euro nicht 0 ist ..			
					if (kurs1 !=0)
					{
						// Formeln für die Umrechnung (inkl. Kehrwert)
						kurs1 = 1 / kurs1;
						ergebnis = einheiten * kurs1 * kurs2;
						// Runden auf 2 Nachkommastellen
						BigDecimal gerundet1 = new BigDecimal(ergebnis);
						BigDecimal gerundet2 = gerundet1.setScale(2,BigDecimal.ROUND_HALF_UP);
						// Ergebnis ausgeben
						label_ergebnis.setText(einheiten + " " + von + " entsprechen " + gerundet2 + " " + nach + ".");
					}	
					
					// Und wenn der Umrechnungskurs 0 sein sollte ... Fehlermeldung ausgeben 
					else
					{
					label_fehler.setText("Umrechnungskurs ist 0 oder negativ!");
					}
				}
			}	
		}
		// Wenn keine Wechselkurse vorhanden ... Fehlermeldung ausgeben
		catch (Exception E4)
		{
			label_fehler.setText("Keine Wechselkurse vorhanden.");
			fehler = true;
		}
		
		// Wenn ein Fehler aufgetreten ist
		if (fehler == true)
		{
			// Ergebnisfeld wieder löschen, nach richtiger Eingabe nicht mehr aktuell
			label_ergebnis.setText("");
		}
		
	}
	
	/*	Karteikarte "Kurse"
		Hier werden die Umrechnungskurse eingegeben, es wird jeweils überprüft ob es sich auch um
		double-Werte handelt, wenn nicht wird eine Fehlermeldung ausgegeben. Das Textfeld wird aktualisiert.
	 */
	
	// Euro nach US-Dollar
	private void edit_euro_dollar_textChanged(Object source, Event e)
		{
			String string = "";
			double doublewert = 0;
			
			try
			{
				doublewert = Double.valueOf(edit_euro_dollar.getText() ).doubleValue();
				label_fehler_kurse.setText("");
				label_fehler.setText("");
			}
			
			catch (Exception E5)
			{
				label_fehler_kurse.setText("Bitte einen gueltigen Kurs eingeben, z.B. 0.8984");
			}
				edit_euro_dollar.update();
			}

			
	// Euro nach Pfund
	private void edit_euro_pfund_textChanged(Object source, Event e)
		{
			String string = "";
			double doublewert = 0;
			
			try
			{
				doublewert = Double.valueOf(edit_euro_pfund.getText() ).doubleValue();
				label_fehler_kurse.setText("");
				label_fehler.setText("");
			}
			
			catch (Exception E5)
			{
				label_fehler_kurse.setText("Bitte einen gueltigen Kurs eingeben, z.B. 0.8984");
			}
				edit_euro_pfund.update();
			}

	// Euro nach Franken
	private void edit_euro_franken_textChanged(Object source, Event e)
		{
			String string = "";
			double doublewert = 0;
			
			try
			{
				doublewert = Double.valueOf(edit_euro_franken.getText() ).doubleValue();
				label_fehler_kurse.setText("");
				label_fehler.setText("");
			}
			
			catch (Exception E5)
			{
				label_fehler_kurse.setText("Bitte einen gueltigen Kurs eingeben, z.B. 0.8984");
			}
				edit_euro_franken.update();
			}

	// Euro nach DM
	private void edit_euro_dm_textChanged(Object source, Event e)
		{
			String string = "";
			double doublewert = 0;
			
			try
			{
				doublewert = Double.valueOf(edit_euro_dm.getText() ).doubleValue();
				label_fehler_kurse.setText("");
				label_fehler.setText("");
			}
			
			catch (Exception E5)
			{
				label_fehler_kurse.setText("Bitte einen gueltigen Kurs eingeben, z.B. 0.8984");
			}
			
			edit_euro_dm.update();
			}
	
	// Euro nach Hong Kong Dollar
	private void edit_euro_hkd_textChanged(Object source, Event e)
		{
			String string = "";
			double doublewert = 0;
			
			try
			{
				doublewert = Double.valueOf(edit_euro_hkd.getText() ).doubleValue();
				label_fehler_kurse.setText("");
				label_fehler.setText("");
			}
			
			catch (Exception E5)
			{
				label_fehler_kurse.setText("Bitte einen gueltigen Kurs eingeben, z.B. 0.8984");
			}
			
			edit_euro_hkd.update();
			}

	// Euro nach Yen
	private void edit_euro_yen_textChanged(Object source, Event e)
		{
			String string = "";
			double doublewert = 0;
			
			try
			{
				doublewert = Double.valueOf(edit_euro_yen.getText() ).doubleValue();
				label_fehler_kurse.setText("");
				label_fehler.setText("");
			}
			
			catch (Exception E5)
			{
				label_fehler_kurse.setText("Bitte einen gueltigen Kurs eingeben, z.B. 0.8984");
			}
			
			edit_euro_yen.update();
			}
	
	// Wenn der User auf Speichern klickt, wird die Methode Speichern aufgerufen ...
	private void b_speichern_click(Object source, Event e)
		{
		speichern = true;
		Speichern();
		speichern = false;
		}

	private void label_frage_click(Object source, Event e)
		{
		
		}

	private void label_fehler_click(Object source, Event e)
		{
		
		}

	private void cb_kurse_auto_click(Object source, Event e)
		{
		
		}

	private void radioButton1_checkedChanged(Object source, Event e)
		{
		
		}

	private void Form1_click(Object source, Event e)
		{
		
		}

	private void edit_euro_ukraine_textChanged(Object source, Event e)
		{
		
		}

	
	/**
	 * HINWEIS: Der folgende Code ist für den Visual J++-
	 * Formulardesigner erforderlich.  Er kann mit dem Formulareditor verändert werden.  Ändern Sie
	 * ihn nicht mit dem Codeeditor.
	 */
	Container components = new Container();
	TabControl Register = new TabControl();
	TabPage tabPageUmrechnen = new TabPage();
	TabPage tabKurse = new TabPage();
	TabPage tabPage3 = new TabPage();
	GroupBox Groupbox_Basiswaehrung = new GroupBox();
	RadioButton rb_dollar_basis = new RadioButton();
	Label label_frage = new Label();
	RadioButton rb_dm_basis = new RadioButton();
	RadioButton rb_franken_basis = new RadioButton();
	RadioButton rb_pfund_basis = new RadioButton();
	RadioButton rb_euro_basis = new RadioButton();
	GroupBox GroupBoxZielwaehrung = new GroupBox();
	RadioButton rb_dollar_ziel = new RadioButton();
	Edit edit_betrag = new Edit();
	RadioButton rb_dm_ziel = new RadioButton();
	RadioButton rb_hkd_ziel = new RadioButton();
	RadioButton rb_pfund_ziel = new RadioButton();
	RadioButton rb_euro_ziel = new RadioButton();
	Label label_ergebnis = new Label();
	Edit edit_euro_dm = new Edit();
	Edit edit_euro_franken = new Edit();
	Edit edit_euro_pfund = new Edit();
	Edit edit_euro_hkd = new Edit();
	Edit edit_euro_dollar = new Edit();
	RadioButton rb_hkd_basis = new RadioButton();
	Label label_euro_hkd = new Label();
	Label label_euro_dm = new Label();
	Label label_euro_franken = new Label();
	Label label_euro_pfund = new Label();
	RadioButton rb_franken_ziel = new RadioButton();
	Label label_euro_dollar = new Label();
	Label label_hinweis_kurse = new Label();
	Button b_speichern = new Button();
	Label label_lm_1 = new Label();
	Label label_lm_6 = new Label();
	Label label_lm_2 = new Label();
	Label label_lm_3 = new Label();
	Label label_fehler = new Label();
	Label label_fehler_kurse = new Label();
	Label label_lm5 = new Label();
	RadioButton rb_autoload = new RadioButton();
	PictureBox pictureBox1 = new PictureBox();
	Label label_hinweis_kurse2 = new Label();
	Label label2 = new Label();
	Label label_lm_4 = new Label();
	RadioButton rb_yen_basis = new RadioButton();
	RadioButton rb_yen_ziel = new RadioButton();
	Label label_euro_yen = new Label();
	Edit edit_euro_yen = new Edit();

	private void initForm()
		{
		// HINWEIS:  Dieses Formular speichert Ressourceninformationen in
		// einer externen Datei.  Ändern Sie nicht den Zeichenfolgenparameter für
		// einen der Funktionsaufrufe von resources.getObject().  Ändern Sie z.B.
		// nicht "foo1_location" in der folgenden Codezeile,
		// auch nicht, wenn sich der Name des Foo-Objekts ändert: 
		//	 foo1.setLocation((Point)resources.getObject("foo1_location"));

		IResourceManager resources = new ResourceManager(this, "Form1");
		this.setText("Waehrungsrechner von Michael Schmidt");
		this.setAutoScaleBaseSize(new Point(5, 13));
		this.setClientSize(new Point(723, 516));
		this.setIcon((Icon)resources.getObject("this_icon"));
		this.addOnClick(new EventHandler(this.Form1_click));

		Register.setFont(new Font("Arial", 10.0f, FontSize.POINTS, FontWeight.NORMAL, false, false, false, CharacterSet.DEFAULT, 0));
		Register.setLocation(new Point(16, 8));
		Register.setSize(new Point(720, 520));
		Register.setTabIndex(0);
		Register.setText("tabControl1");
		Register.setSelectedIndex(1);

		tabPageUmrechnen.setBackColor(Color.GRAY);
		tabPageUmrechnen.setForeColor(Color.BLUE);
		tabPageUmrechnen.setLocation(new Point(4, 25));
		tabPageUmrechnen.setSize(new Point(712, 491));
		tabPageUmrechnen.setTabIndex(0);
		tabPageUmrechnen.setText("Umrechnen");

		tabKurse.setBackColor(Color.GRAY);
		tabKurse.setForeColor(Color.WHITE);
		tabKurse.setLocation(new Point(4, 25));
		tabKurse.setSize(new Point(712, 491));
		tabKurse.setTabIndex(1);
		tabKurse.setText("Kurse");

		tabPage3.setBackColor(Color.GRAY);
		tabPage3.setForeColor(Color.WHITE);
		tabPage3.setLocation(new Point(4, 25));
		tabPage3.setSize(new Point(712, 491));
		tabPage3.setTabIndex(2);
		tabPage3.setText("Liesmich");

		Groupbox_Basiswaehrung.setBackColor(Color.GRAY);
		Groupbox_Basiswaehrung.setFont(new Font("Arial", 10.0f, FontSize.POINTS, FontWeight.BOLD, false, false, false, CharacterSet.DEFAULT, 0));
		Groupbox_Basiswaehrung.setForeColor(Color.WHITE);
		Groupbox_Basiswaehrung.setLocation(new Point(8, 64));
		Groupbox_Basiswaehrung.setSize(new Point(168, 200));
		Groupbox_Basiswaehrung.setTabIndex(0);
		Groupbox_Basiswaehrung.setTabStop(false);
		Groupbox_Basiswaehrung.setText("Basiswährung");

		rb_dollar_basis.setLocation(new Point(16, 48));
		rb_dollar_basis.setSize(new Point(136, 24));
		rb_dollar_basis.setTabIndex(1);
		rb_dollar_basis.setText("US-Dollar");
		rb_dollar_basis.addOnCheckedChanged(new EventHandler(this.pictureBox1_click));

		label_frage.setFont(new Font("Arial", 10.0f, FontSize.POINTS, FontWeight.BOLD, false, false, false, CharacterSet.DEFAULT, 0));
		label_frage.setForeColor(Color.WHITE);
		label_frage.setLocation(new Point(264, 72));
		label_frage.setSize(new Point(72, 24));
		label_frage.setTabIndex(2);
		label_frage.setTabStop(false);
		label_frage.setText("Betrag: ");
		label_frage.setTextAlign(HorizontalAlignment.CENTER);
		label_frage.addOnClick(new EventHandler(this.label_frage_click));

		rb_dm_basis.setLocation(new Point(16, 120));
		rb_dm_basis.setSize(new Point(136, 24));
		rb_dm_basis.setTabIndex(6);
		rb_dm_basis.setText("DM");
		rb_dm_basis.addOnCheckedChanged(new EventHandler(this.pictureBox1_click));

		rb_franken_basis.setLocation(new Point(16, 96));
		rb_franken_basis.setSize(new Point(136, 23));
		rb_franken_basis.setTabIndex(3);
		rb_franken_basis.setText("Schw. Franken");
		rb_franken_basis.addOnCheckedChanged(new EventHandler(this.pictureBox1_click));

		rb_pfund_basis.setLocation(new Point(16, 72));
		rb_pfund_basis.setSize(new Point(136, 24));
		rb_pfund_basis.setTabIndex(2);
		rb_pfund_basis.setText("Brit. Pfund");
		rb_pfund_basis.addOnCheckedChanged(new EventHandler(this.pictureBox1_click));

		rb_euro_basis.setLocation(new Point(16, 24));
		rb_euro_basis.setSize(new Point(136, 24));
		rb_euro_basis.setTabIndex(0);
		rb_euro_basis.setTabStop(true);
		rb_euro_basis.setText("Euro");
		rb_euro_basis.setChecked(true);
		rb_euro_basis.addOnCheckedChanged(new EventHandler(this.pictureBox1_click));

		GroupBoxZielwaehrung.setBackColor(Color.GRAY);
		GroupBoxZielwaehrung.setFont(new Font("Arial", 10.0f, FontSize.POINTS, FontWeight.BOLD, false, false, false, CharacterSet.DEFAULT, 0));
		GroupBoxZielwaehrung.setForeColor(Color.WHITE);
		GroupBoxZielwaehrung.setLocation(new Point(424, 64));
		GroupBoxZielwaehrung.setSize(new Point(168, 200));
		GroupBoxZielwaehrung.setTabIndex(1);
		GroupBoxZielwaehrung.setTabStop(false);
		GroupBoxZielwaehrung.setText("Zielwährung");

		rb_dollar_ziel.setLocation(new Point(16, 48));
		rb_dollar_ziel.setSize(new Point(136, 24));
		rb_dollar_ziel.setTabIndex(1);
		rb_dollar_ziel.setTabStop(true);
		rb_dollar_ziel.setText("US-Dollar");
		rb_dollar_ziel.setChecked(true);
		rb_dollar_ziel.addOnCheckedChanged(new EventHandler(this.pictureBox1_click));

		edit_betrag.setFont(new Font("Arial", 10.0f, FontSize.POINTS, FontWeight.NORMAL, false, false, false, CharacterSet.DEFAULT, 0));
		edit_betrag.setForeColor(Color.BLACK);
		edit_betrag.setLocation(new Point(224, 96));
		edit_betrag.setSize(new Point(152, 23));
		edit_betrag.setTabIndex(3);
		edit_betrag.setText("");
		edit_betrag.addOnTextChanged(new EventHandler(this.edit_betrag_textChanged));

		rb_dm_ziel.setLocation(new Point(16, 120));
		rb_dm_ziel.setSize(new Point(136, 24));
		rb_dm_ziel.setTabIndex(5);
		rb_dm_ziel.setText("DM");
		rb_dm_ziel.addOnCheckedChanged(new EventHandler(this.pictureBox1_click));

		rb_hkd_ziel.setLocation(new Point(16, 144));
		rb_hkd_ziel.setSize(new Point(136, 24));
		rb_hkd_ziel.setTabIndex(4);
		rb_hkd_ziel.setText("Hong Kong Dollar");
		rb_hkd_ziel.addOnCheckedChanged(new EventHandler(this.pictureBox1_click));

		rb_pfund_ziel.setLocation(new Point(16, 72));
		rb_pfund_ziel.setSize(new Point(136, 24));
		rb_pfund_ziel.setTabIndex(2);
		rb_pfund_ziel.setText("Brit. Pfund");
		rb_pfund_ziel.addOnCheckedChanged(new EventHandler(this.pictureBox1_click));

		rb_euro_ziel.setLocation(new Point(16, 24));
		rb_euro_ziel.setSize(new Point(136, 24));
		rb_euro_ziel.setTabIndex(0);
		rb_euro_ziel.setText("Euro");
		rb_euro_ziel.addOnCheckedChanged(new EventHandler(this.pictureBox1_click));

		label_ergebnis.setBackColor(Color.GRAY);
		label_ergebnis.setFont(new Font("Arial", 16.0f, FontSize.POINTS, FontWeight.NORMAL, false, false, false, CharacterSet.DEFAULT, 0));
		label_ergebnis.setForeColor(Color.ACTIVECAPTIONTEXT);
		label_ergebnis.setLocation(new Point(8, 312));
		label_ergebnis.setSize(new Point(584, 40));
		label_ergebnis.setTabIndex(5);
		label_ergebnis.setTabStop(false);
		label_ergebnis.setText("");
		label_ergebnis.setTextAlign(HorizontalAlignment.CENTER);

		edit_euro_dm.setBackColor(Color.INACTIVECAPTION);
		edit_euro_dm.setCursor(Cursor.NO);
		edit_euro_dm.setFont(new Font("Arial", 10.0f, FontSize.POINTS, FontWeight.HEAVY, false, false, false, CharacterSet.DEFAULT, 0));
		edit_euro_dm.setForeColor(Color.CONTROLDARKDARK);
		edit_euro_dm.setLocation(new Point(240, 232));
		edit_euro_dm.setSize(new Point(104, 23));
		edit_euro_dm.setTabIndex(5);
		edit_euro_dm.setText("1.95583");
		edit_euro_dm.setReadOnly(true);
		edit_euro_dm.addOnTextChanged(new EventHandler(this.edit_euro_dm_textChanged));

		edit_euro_franken.setFont(new Font("Arial", 10.0f, FontSize.POINTS, FontWeight.NORMAL, false, false, false, CharacterSet.DEFAULT, 0));
		edit_euro_franken.setForeColor(Color.BLACK);
		edit_euro_franken.setLocation(new Point(240, 136));
		edit_euro_franken.setSize(new Point(104, 23));
		edit_euro_franken.setTabIndex(2);
		edit_euro_franken.setText("");
		edit_euro_franken.addOnTextChanged(new EventHandler(this.edit_euro_franken_textChanged));

		edit_euro_pfund.setFont(new Font("Arial", 10.0f, FontSize.POINTS, FontWeight.NORMAL, false, false, false, CharacterSet.DEFAULT, 0));
		edit_euro_pfund.setForeColor(Color.BLACK);
		edit_euro_pfund.setLocation(new Point(240, 104));
		edit_euro_pfund.setSize(new Point(104, 23));
		edit_euro_pfund.setTabIndex(1);
		edit_euro_pfund.setText("");
		edit_euro_pfund.setAcceptsTab(true);
		edit_euro_pfund.addOnTextChanged(new EventHandler(this.edit_euro_pfund_textChanged));

		edit_euro_hkd.setFont(new Font("Arial", 10.0f, FontSize.POINTS, FontWeight.NORMAL, false, false, false, CharacterSet.DEFAULT, 0));
		edit_euro_hkd.setForeColor(Color.BLACK);
		edit_euro_hkd.setLocation(new Point(240, 168));
		edit_euro_hkd.setSize(new Point(104, 23));
		edit_euro_hkd.setTabIndex(3);
		edit_euro_hkd.setText("");
		edit_euro_hkd.addOnTextChanged(new EventHandler(this.edit_euro_ukraine_textChanged));

		edit_euro_dollar.setFont(new Font("Arial", 10.0f, FontSize.POINTS, FontWeight.NORMAL, false, false, false, CharacterSet.DEFAULT, 0));
		edit_euro_dollar.setForeColor(Color.BLACK);
		edit_euro_dollar.setLocation(new Point(240, 72));
		edit_euro_dollar.setSize(new Point(104, 23));
		edit_euro_dollar.setTabIndex(0);
		edit_euro_dollar.setText("");
		edit_euro_dollar.setAcceptsTab(true);
		edit_euro_dollar.addOnTextChanged(new EventHandler(this.edit_euro_dollar_textChanged));

		rb_hkd_basis.setLocation(new Point(16, 144));
		rb_hkd_basis.setSize(new Point(136, 24));
		rb_hkd_basis.setTabIndex(5);
		rb_hkd_basis.setText("Hong Kong Dollar");
		rb_hkd_basis.addOnCheckedChanged(new EventHandler(this.pictureBox1_click));

		label_euro_hkd.setFont(new Font("Arial", 10.0f, FontSize.POINTS, FontWeight.BOLD, false, false, false, CharacterSet.DEFAULT, 0));
		label_euro_hkd.setLocation(new Point(8, 168));
		label_euro_hkd.setSize(new Point(208, 24));
		label_euro_hkd.setTabIndex(7);
		label_euro_hkd.setTabStop(false);
		label_euro_hkd.setText("Euro nach Hong Kong Dollar");

		label_euro_dm.setFont(new Font("Arial", 10.0f, FontSize.POINTS, FontWeight.BOLD, false, false, false, CharacterSet.DEFAULT, 0));
		label_euro_dm.setLocation(new Point(8, 232));
		label_euro_dm.setSize(new Point(184, 24));
		label_euro_dm.setTabIndex(11);
		label_euro_dm.setTabStop(false);
		label_euro_dm.setText("Euro nach DM");

		label_euro_franken.setFont(new Font("Arial", 10.0f, FontSize.POINTS, FontWeight.BOLD, false, false, false, CharacterSet.DEFAULT, 0));
		label_euro_franken.setLocation(new Point(8, 136));
		label_euro_franken.setSize(new Point(184, 24));
		label_euro_franken.setTabIndex(12);
		label_euro_franken.setTabStop(false);
		label_euro_franken.setText("Euro nach Schw. Franken");

		label_euro_pfund.setFont(new Font("Arial", 10.0f, FontSize.POINTS, FontWeight.BOLD, false, false, false, CharacterSet.DEFAULT, 0));
		label_euro_pfund.setLocation(new Point(8, 104));
		label_euro_pfund.setSize(new Point(184, 24));
		label_euro_pfund.setTabIndex(13);
		label_euro_pfund.setTabStop(false);
		label_euro_pfund.setText("Euro nach Brit. Pfund");

		rb_franken_ziel.setLocation(new Point(16, 96));
		rb_franken_ziel.setSize(new Point(120, 24));
		rb_franken_ziel.setTabIndex(6);
		rb_franken_ziel.setText("Schw. Franken");
		rb_franken_ziel.addOnCheckedChanged(new EventHandler(this.pictureBox1_click));

		label_euro_dollar.setFont(new Font("Arial", 10.0f, FontSize.POINTS, FontWeight.BOLD, false, false, false, CharacterSet.DEFAULT, 0));
		label_euro_dollar.setLocation(new Point(8, 72));
		label_euro_dollar.setSize(new Point(184, 24));
		label_euro_dollar.setTabIndex(14);
		label_euro_dollar.setTabStop(false);
		label_euro_dollar.setText("Euro nach US-Dollar");

		label_hinweis_kurse.setFont(new Font("Arial", 10.0f, FontSize.POINTS, FontWeight.BOLD, false, false, false, CharacterSet.DEFAULT, 0));
		label_hinweis_kurse.setLocation(new Point(8, 16));
		label_hinweis_kurse.setSize(new Point(384, 24));
		label_hinweis_kurse.setTabIndex(8);
		label_hinweis_kurse.setTabStop(false);
		label_hinweis_kurse.setText("Geben Sie hier bitte die aktuellen Umrechnungskurse ein.");

		b_speichern.setLocation(new Point(8, 296));
		b_speichern.setSize(new Point(168, 32));
		b_speichern.setTabIndex(6);
		b_speichern.setText("Kurse speichern");
		b_speichern.addOnClick(new EventHandler(this.b_speichern_click));

		label_lm_1.setFont(new Font("Arial", 10.0f, FontSize.POINTS, FontWeight.BOLD, false, false, false, CharacterSet.DEFAULT, 0));
		label_lm_1.setLocation(new Point(8, 16));
		label_lm_1.setSize(new Point(568, 56));
		label_lm_1.setTabIndex(0);
		label_lm_1.setTabStop(false);
		label_lm_1.setText("Windows-Version des Währungsrechners im Rahmen der Vorlesung \"Programmieren in Java\" im Wintersemester 2004&/2005.");

		label_lm_6.setFont(new Font("Arial", 10.0f, FontSize.POINTS, FontWeight.NORMAL, false, false, false, CharacterSet.DEFAULT, 0));
		label_lm_6.setLocation(new Point(8, 376));
		label_lm_6.setSize(new Point(600, 24));
		label_lm_6.setTabIndex(1);
		label_lm_6.setTabStop(false);
		label_lm_6.setText("Michael Schmidt - Matrikelnummer 4201427 - Fachhochschule Oldenburg/Ostfriesland/Wilhelmshaven");

		label_lm_2.setFont(new Font("Arial", 10.0f, FontSize.POINTS, FontWeight.BOLD, false, true, false, CharacterSet.DEFAULT, 0));
		label_lm_2.setLocation(new Point(8, 80));
		label_lm_2.setSize(new Point(224, 24));
		label_lm_2.setTabIndex(3);
		label_lm_2.setTabStop(false);
		label_lm_2.setText("Hinweise zum Währungsrechner");

		label_lm_3.setLocation(new Point(8, 112));
		label_lm_3.setSize(new Point(560, 56));
		label_lm_3.setTabIndex(5);
		label_lm_3.setTabStop(false);
		label_lm_3.setText("Der Kurs zur Umrechnung von Euro in DM wurde von der Europäischen Zentralbank (EZB) auf 1.95583 festgelegt. Dieser Kurs wurde deshalb bereits eingegeben und kann auch nicht geändert werden.");

		label_fehler.setBackColor(Color.CONTROLDARK);
		label_fehler.setFont(new Font("Arial", 10.0f, FontSize.POINTS, FontWeight.BOLD, false, false, false, CharacterSet.DEFAULT, 0));
		label_fehler.setForeColor(Color.WHITE);
		label_fehler.setLocation(new Point(136, 352));
		label_fehler.setSize(new Point(328, 24));
		label_fehler.setTabIndex(4);
		label_fehler.setTabStop(false);
		label_fehler.setText("");
		label_fehler.setTextAlign(HorizontalAlignment.CENTER);
		label_fehler.addOnClick(new EventHandler(this.label_fehler_click));

		label_fehler_kurse.setFont(new Font("Arial", 10.0f, FontSize.POINTS, FontWeight.HEAVY, false, false, false, CharacterSet.DEFAULT, 0));
		label_fehler_kurse.setLocation(new Point(8, 336));
		label_fehler_kurse.setSize(new Point(432, 32));
		label_fehler_kurse.setTabIndex(15);
		label_fehler_kurse.setTabStop(false);
		label_fehler_kurse.setText("");

		label_lm5.setFont(new Font("Arial", 10.0f, FontSize.POINTS, FontWeight.BOLD, false, true, false, CharacterSet.DEFAULT, 0));
		label_lm5.setLocation(new Point(8, 344));
		label_lm5.setSize(new Point(224, 24));
		label_lm5.setTabIndex(2);
		label_lm5.setTabStop(false);
		label_lm5.setText("verantwortlich für den Inhalt:");

		rb_autoload.setLocation(new Point(16, 440));
		rb_autoload.setSize(new Point(440, 23));
		rb_autoload.setTabIndex(16);
		rb_autoload.setTabStop(true);
		rb_autoload.setText("Umrechnungskurse beim nächsten Programmstart automatisch laden");
		rb_autoload.setVisible(false);
		rb_autoload.setChecked(true);
		rb_autoload.addOnCheckedChanged(new EventHandler(this.radioButton1_checkedChanged));

		pictureBox1.setLocation(new Point(224, 128));
		pictureBox1.setSize(new Point(150, 147));
		pictureBox1.setTabIndex(6);
		pictureBox1.setTabStop(false);
		pictureBox1.setText("pictureBox1");
		pictureBox1.setImage((Bitmap)resources.getObject("pictureBox1_image"));
		pictureBox1.addOnClick(new EventHandler(this.pictureBox1_click));

		label_hinweis_kurse2.setFont(new Font("Arial", 10.0f, FontSize.POINTS, FontWeight.BOLD, false, false, false, CharacterSet.DEFAULT, 0));
		label_hinweis_kurse2.setLocation(new Point(8, 40));
		label_hinweis_kurse2.setSize(new Point(560, 24));
		label_hinweis_kurse2.setTabIndex(10);
		label_hinweis_kurse2.setTabStop(false);
		label_hinweis_kurse2.setText("Aktuelle Kurse finden Sie z.B. unter http://boerse.n24.de/n24/waehrung_uebersicht.htm");

		label2.setFont(new Font("Arial", 10.0f, FontSize.POINTS, FontWeight.BOLD, false, false, false, CharacterSet.DEFAULT, 0));
		label2.setForeColor(Color.ACTIVECAPTIONTEXT);
		label2.setLocation(new Point(8, 16));
		label2.setSize(new Point(672, 40));
		label2.setTabIndex(7);
		label2.setTabStop(false);
		label2.setText("Bitte wählen Sie zuerst die Basiswährung und dann die Zielwährung, geben Sie den Betrag ein, den Sie umrechnen möchten und klicken auf \"Umrechnen\".");

		label_lm_4.setLocation(new Point(8, 176));
		label_lm_4.setSize(new Point(560, 56));
		label_lm_4.setTabIndex(4);
		label_lm_4.setTabStop(false);
		label_lm_4.setText("Wenn bereits Kurse eingegeben und gespeichert wurden, werden diese Kurse beim nächsten Programmstart automatisch geladen. Bitte achten Sie deshalb stets darauf, dass Sie eingegebene Kurse auch speichern!");

		rb_yen_basis.setLocation(new Point(16, 168));
		rb_yen_basis.setSize(new Point(136, 24));
		rb_yen_basis.setTabIndex(4);
		rb_yen_basis.setText("Yen");
		rb_yen_basis.addOnCheckedChanged(new EventHandler(this.pictureBox1_click));

		rb_yen_ziel.setLocation(new Point(16, 168));
		rb_yen_ziel.setSize(new Point(136, 24));
		rb_yen_ziel.setTabIndex(3);
		rb_yen_ziel.setText("Yen");
		rb_yen_ziel.addOnCheckedChanged(new EventHandler(this.pictureBox1_click));

		label_euro_yen.setFont(new Font("Arial", 10.0f, FontSize.POINTS, FontWeight.BOLD, false, false, false, CharacterSet.DEFAULT, 0));
		label_euro_yen.setLocation(new Point(8, 200));
		label_euro_yen.setSize(new Point(184, 24));
		label_euro_yen.setTabIndex(9);
		label_euro_yen.setTabStop(false);
		label_euro_yen.setText("Euro nach Yen");

		edit_euro_yen.setFont(new Font("Arial", 10.0f, FontSize.POINTS, FontWeight.NORMAL, false, false, false, CharacterSet.DEFAULT, 0));
		edit_euro_yen.setForeColor(Color.BLACK);
		edit_euro_yen.setLocation(new Point(240, 200));
		edit_euro_yen.setSize(new Point(104, 23));
		edit_euro_yen.setTabIndex(4);
		edit_euro_yen.setText("");

		this.setNewControls(new Control[] {
							Register});
		Register.setNewControls(new Control[] {
								tabPageUmrechnen, 
								tabKurse, 
								tabPage3});
		tabPageUmrechnen.setNewControls(new Control[] {
										label2, 
										pictureBox1, 
										label_fehler, 
										label_ergebnis, 
										edit_betrag, 
										label_frage, 
										Groupbox_Basiswaehrung, 
										GroupBoxZielwaehrung});
		tabKurse.setNewControls(new Control[] {
								edit_euro_yen, 
								label_euro_yen, 
								rb_autoload, 
								label_hinweis_kurse2, 
								label_fehler_kurse, 
								b_speichern, 
								edit_euro_dm, 
								edit_euro_franken, 
								edit_euro_pfund, 
								edit_euro_hkd, 
								edit_euro_dollar, 
								label_euro_hkd, 
								label_euro_dm, 
								label_euro_franken, 
								label_euro_pfund, 
								label_euro_dollar, 
								label_hinweis_kurse});
		tabPage3.setNewControls(new Control[] {
								label_lm_4, 
								label_lm5, 
								label_lm_3, 
								label_lm_2, 
								label_lm_6, 
								label_lm_1});
		Groupbox_Basiswaehrung.setNewControls(new Control[] {
											  rb_yen_basis, 
											  rb_hkd_basis, 
											  rb_euro_basis, 
											  rb_pfund_basis, 
											  rb_franken_basis, 
											  rb_dm_basis, 
											  rb_dollar_basis});
		GroupBoxZielwaehrung.setNewControls(new Control[] {
											rb_yen_ziel, 
											rb_franken_ziel, 
											rb_euro_ziel, 
											rb_pfund_ziel, 
											rb_dm_ziel, 
											rb_dollar_ziel, 
											rb_hkd_ziel});
		}

	/**
	 * Der Haupteinsprungpunkt für die Anwendung. 
	 *
	 * Ein @param args-Array aus Parametern wird an die Anwendung
	 * über die Befehlszeile übergeben.
	 */	
	
	public static void main(String args[])
	{
		Application.run(new Form1());
	}
	
	// Methode Speichern
	private void Speichern()
	{
		if (speichern == true)
		{
			// Die benötigten Variable werden deklariert und initialisiert
			String kurs_leer = "";
			double kurs_dollar = 0;
			double kurs_pfund = 0;
			double kurs_franken = 0;
			double kurs_hkd = 0;
			double kurs_yen = 0;
			double kurs_dm = 1.95583;
			
			// Es wird ein Array benötigt ... und dieses Array wird hier erzeugt
			double[] KursArray = new double[6];
			
			// Hier wird geprüft, ob Kurse gültige double-Werte sind ... Schreiben in Array
			try
			{
				// Umrechnung Euro in Dollar
				
				kurs_leer = edit_euro_dollar.getText();
				kurs_dollar = Double.valueOf( kurs_leer).doubleValue();
				if (kurs_dollar <= 0)
					{
					speichern = false;
					label_fehler_kurse.setText("Fehler beim Speichern. Kurse dürfen nicht <=0 sein!");
					}
				else
				KursArray[0] = kurs_dollar;
				speichern = true;
				
				// Umrechnung Euro in Pfund
			
				kurs_leer = edit_euro_pfund.getText();
				kurs_pfund = Double.valueOf( kurs_leer).doubleValue();
				if (kurs_pfund <= 0)
					{
					label_fehler_kurse.setText("Fehler beim Speichern. Kurse dürfen nicht <=0 sein!");
					speichern = false;
					}
				else
				KursArray[1] = kurs_pfund;
				speichern = true;
				
				// Umrechnung Euro in Franken
			
				kurs_leer = edit_euro_franken.getText();
				kurs_franken = Double.valueOf( kurs_leer).doubleValue();
				if (kurs_franken <= 0) 
					{
					label_fehler_kurse.setText("Fehler beim Speichern. Kurse dürfen nicht <=0 sein!");
					speichern = false;
					}
				else
				KursArray[2] = kurs_franken;
				speichern = true;
				
				// Umrechnung Euro in Hong Kong Dollar
				
				kurs_leer = edit_euro_hkd.getText();
				kurs_hkd = Double.valueOf( kurs_leer).doubleValue();
				if (kurs_hkd <= 0)
					{
					label_fehler_kurse.setText("Fehler beim Speichern. Kurse dürfen nicht <=0 sein!");
					speichern = false;
					}
				else
				KursArray[3] = kurs_hkd;
				speichern = true;
				
				// Umrechnung Euro in Yen
			
				kurs_leer = edit_euro_yen.getText();
				kurs_yen = Double.valueOf( kurs_leer).doubleValue();
				if (kurs_yen <= 0)
					{
					label_fehler_kurse.setText("Fehler beim Speichern. Kurse dürfen nicht <=0 sein!");
					speichern = false;
					}
				else
				KursArray[4] = kurs_yen;
				speichern = true;
				
				// Umrechunng Euro in DM ... da auf jeden Fall double-Wert (Grund: readOnly)
				edit_euro_dm.getText();
				KursArray[5] = kurs_dm;
				speichern = true;
				
				try
				{
					ObjectOutputStream ou = new ObjectOutputStream (new FileOutputStream ("Kursdatei.obj"));
					ou.writeObject(KursArray);
					ou.flush ();
					ou.close ();
				}
			
				/* Wenn Kurs-Datei nicht gespeichert werden konnte, vielleicht wegen des aktiv. Schreibschutzes
				   Fehlermeldung ausgeben!
				*/
				catch (Exception E6)
				{
					label_fehler_kurse.setText("Fehler beim Speichern. Schreibschutz aktiviert?");
				}
			}
		
			// Fehlermeldung auch, wenn die eingegeben Kurse trotz Hinweis gespeichert werden sollen
			catch (Exception E7)
			{
				label_fehler_kurse.setText("Kurse wurden nicht gespeichert. Bitte ALLE Kurse korrekt eingeben. "); 
			}
		}
	}
	
	// Die Methode zum Laden des Kursobjektes
	private void Laden()
	{
		if ((rb_autoload.getChecked() == true))
		{
			double umrechnungskursArray;
			
			double[] KursArray = new double[1];
						
			try
			{
			ObjectInputStream ou = new ObjectInputStream (new FileInputStream ("Kursdatei.obj"));
			Object o = ou.readObject();
					
			KursArray = (double[]) o;
			ou.close ();
					
			// Jetzt werden die eigentlich leeren Felder der Umrechnungskurse mit den Arrays gefuellt
			edit_euro_dollar.setText("" + KursArray[0]);
			edit_euro_pfund.setText("" + KursArray[1]);
			edit_euro_franken.setText("" + KursArray[2]);
			edit_euro_hkd.setText("" + KursArray[3]);
			edit_euro_yen.setText("" + KursArray[4]);
			}
				
			catch (Exception E5)
			{
				label_fehler_kurse.setText("Kursdatei nicht vorhanden. Bitte neue Kurse eingeben.");
			}
				
		}
	}
}

Vielen Dank schonmal!
 

Dreezard

Bekanntes Mitglied
sry, aber das jetzt alles nachzuvollziehen (zumal es noch eine abgeleitete Klasse ist) ist für mich jetzt ein wenig zeitraubend. Ich bin auch noch anfänger :roll:
 
B

Beni

Gast
Das ist ja nichtmal Java??
/**
* HINWEIS: Der folgende Code ist für den Visual J++-
* Formulardesigner
erforderlich. Er kann mit dem Formulareditor verändert werden. Ändern Sie
* ihn nicht mit dem Codeeditor.
*/

Sry, aber vielleicht bist du im falschen Forum gelandet :cry:

(Das Problem ist, dass du hier Klassen verwendest die ich (und wahrscheinlich auch viele andere) gar nicht kennen).
 

mics123

Mitglied
Ich kann ja auch nix dafür, dass wir die ganze Sache mit dem Editor von Microsoft machen MÜSSEN, normalerweise nutze ich Eclipse ...!

Der ganze Code ... von 564 bis 1051 ist automatisch generierter Code ... denn kann man gar nicht so ohne weiteres ändern.

Es geht ja nur um die Methoden davor und dahinter ...
 
R

Roar

Gast
mics123 hat gesagt.:
Ich kann ja auch nix dafür, dass wir die ganze Sache mit dem Editor von Microsoft machen MÜSSEN, normalerweise nutze ich Eclipse ...!

wer zwingt dich denn das mit j++ zu machen :shock: :shock: :shock: :shock: :shock:
 

mics123

Mitglied
Mein Prof. und meine schlechten Java-Kenntnisse zwingen mich dazu ... ich bin leider nicht in der Lage, den gleichen Währungsrechner mit einem anderen Editor zu schreiben.

Und bei J++ kann ich mir immerhin die Oberfläche zusammenklicken ...!!!
 

L-ectron-X

Gesperrter Benutzer
Wenn Du unbedingt eine GUI zusammmen klicken musst, weil Deine Kenntnisse nicht ausreichen, kannst Du mal den JBuilder oder NetBeans ausprobieren. Und die arbeiten mit dem "echten" Java von Sun, nicht mit diesem modifizierten Mist von Microsoft.
 

mics123

Mitglied
Und bei J++ habe ich immerhin schonmal die Oberfläche und alle Methoden ... nachher exportiere ich das alles und dann funktioniert gar nix mehr (wegen des Microsoft-Mists) ... vielleicht kann mir irgendwer helfen!

Aber danke für Eure Hilfe
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Negative float Werte? Java Basics - Anfänger-Themen 10
C Rekursion auf einem Array(negative werte addieren) Java Basics - Anfänger-Themen 4
H Datentypen TreeMap<Double, Object> - negative Werte? Java Basics - Anfänger-Themen 4
A Edit Text Negative Decimalzahlen Java Basics - Anfänger-Themen 18
M negative Zahlen bei Intervallen Java Basics - Anfänger-Themen 10
C Positive und negative Zahlen mit Regex extrahieren Java Basics - Anfänger-Themen 8
F Negative Zahl erzwingen Java Basics - Anfänger-Themen 3
D auch negative Zahlen sotieren Java Basics - Anfänger-Themen 18
J jOptionPane, Array und negative Zahlen Java Basics - Anfänger-Themen 2
G Warum funktioniert das Programm für negative Eingabe nicht? Java Basics - Anfänger-Themen 3
J Erste Schritte Scanner negative zahl einlesen und verwenden. Java Basics - Anfänger-Themen 6
D Datentypen 2 d array erweitern und ins negative gehen. Java Basics - Anfänger-Themen 9
S Negative Zahlen auffüllen Java Basics - Anfänger-Themen 5
C Erste Schritte Negative Zahlen als Fakultät ablehnen Java Basics - Anfänger-Themen 2
B Input/Output Positive und negative Zahlen ausgeben Java Basics - Anfänger-Themen 27
J Summe postive Zahlen und negative Zahlen Java Basics - Anfänger-Themen 12
dummy2 Negative Höhe / Breite bei Figuren Java Basics - Anfänger-Themen 2
P Negative Null - geht das? Java Basics - Anfänger-Themen 24
L Gelöst: Negative Eingaben sollen verweigert werden Java Basics - Anfänger-Themen 3
E Negative Abfrage auf instanceof Java Basics - Anfänger-Themen 3
K Mehrere Werte in einem Switch Case parallel überprüfen Java Basics - Anfänger-Themen 23
F 2x 16bit Werte zu einem 32bit und dann splitten mit 0xb Java Basics - Anfänger-Themen 1
ptcho Werte/Position nach dem Funktionsaufruf tauschen? Java Basics - Anfänger-Themen 1
K Warum sind Werte in den Feldern ? Java Basics - Anfänger-Themen 2
S Bestimmte werte aus einem Array löschen Java Basics - Anfänger-Themen 2
javaBoon86 Arrays 2 Dimension Werte ausgeben Java Basics - Anfänger-Themen 15
E Reihenfolge der Werte umdrehen (mittels statischem int-Array Java Basics - Anfänger-Themen 3
N Einzelne Werte aus einem TreeSet auslesen Java Basics - Anfänger-Themen 2
TeacherMrSSimon Schachspiel, Werte in Figur eintragen klappt nicht Java Basics - Anfänger-Themen 23
TheSepp Nur Arrays ausgeben, die Werte zugewiesen haben. Java Basics - Anfänger-Themen 4
T ungeordnete Werte-Paare in einer Liste Java Basics - Anfänger-Themen 7
M Werte in Felder speichern und geordnet ausgeben Java Basics - Anfänger-Themen 8
R Methoden Werte einer ArrayList als Parameter übergeben. Java Basics - Anfänger-Themen 4
A CSv.Datei einlesen und die werte in zweidemosional Int Array speichern Java Basics - Anfänger-Themen 9
Jambolo Methode, welche die 3 letzten Parameter Werte speichert Java Basics - Anfänger-Themen 20
Chris.089 2 Werte im Array tauschen Java Basics - Anfänger-Themen 6
docmas 2DArray Werte werden nur untereinander ausgegeben Java Basics - Anfänger-Themen 1
M Nur int-Werte erlauben Java Basics - Anfänger-Themen 11
F Werte in einer Arraylist Zählen Java Basics - Anfänger-Themen 2
Fats Waller Compiler-Fehler Kann ich einen String und die Summe zweier Char Werte mittels der println Anweisung ausgeben Java Basics - Anfänger-Themen 4
P Doppelte werte in einer Liste zählen Java Basics - Anfänger-Themen 11
M Wie kann eine Methode eine andere Methode um Werte wie z.B. 1 erhöhen? Java Basics - Anfänger-Themen 6
Igig1 Wie lasse ich dir Werte in einem Array zusammenrücken? Java Basics - Anfänger-Themen 4
Igig1 Welche Werte sind als default Werte in einem Array, der als Datentyp eine Klasse hat? Java Basics - Anfänger-Themen 1
J Methoden Positive Werte zählen Java Basics - Anfänger-Themen 3
E Meine JCombobox werte an ohne selectiert zu haben Java Basics - Anfänger-Themen 6
H OOP Werte mit Set verändern Java Basics - Anfänger-Themen 6
W Werte durch Konsole einlesen Java Basics - Anfänger-Themen 10
H Welche Werte bei Objekterzeugung eingeben? Java Basics - Anfänger-Themen 2
M Von einem Menü Methode aus anderer Klasse ausführen, die errechnete Werte in Datei schreibt. Java Basics - Anfänger-Themen 8
sashady ursprüngliche Array-Werte bei erneutem Aufruf? Java Basics - Anfänger-Themen 7
cmn489 Werte beim Funktionsaufruf in ein Feld übertragen(falls dieses leer ist) Java Basics - Anfänger-Themen 1
E In Array Werte einfügen? Java Basics - Anfänger-Themen 5
HighLife Bestimmte Werte aus Array zählen Java Basics - Anfänger-Themen 15
L Methoden ArrayList Werte hinzufügen und löschen Java Basics - Anfänger-Themen 32
J Zufallszahlen generieren und Werte vergleichen Java Basics - Anfänger-Themen 3
M Wie kann ich Werte die in einer While Schleife sind weiter genutzt werden? Java Basics - Anfänger-Themen 7
L Werte von Objekte addieren Java Basics - Anfänger-Themen 14
R Werte und Reihenfolge in 2d Arrays vergleichen Java Basics - Anfänger-Themen 5
I Werte (u.a. Geldbeträge) in Datenbank speichern und Rundungen? Java Basics - Anfänger-Themen 8
eleonori Durchschnitt aller Werte eines Baums berechnen Java Basics - Anfänger-Themen 5
G Array Werte addieren Java Basics - Anfänger-Themen 4
J Methoden Frage: Array-Werte in anderer Methode ändern Java Basics - Anfänger-Themen 4
C Array-Werte werden gemischt, ohne Logik Java Basics - Anfänger-Themen 2
java3690 Java- liste füllen ud die werte addieren Java Basics - Anfänger-Themen 13
C Zufallszahl + Werte bereich einstellen Java Basics - Anfänger-Themen 2
J Alle Werte eines Strings zusammen addieren Java Basics - Anfänger-Themen 15
L 2 Dimensional Array werte überschreiben Java Basics - Anfänger-Themen 1
K Array alle Werte aufsummieren und ausgeben Java Basics - Anfänger-Themen 6
V Collections int Werte in einer Liste sortieren Java Basics - Anfänger-Themen 23
Rubberduck Combobox-Werte in GUI anzeigen Java Basics - Anfänger-Themen 13
J Neue Werte in ein Array hinzugeben Java Basics - Anfänger-Themen 8
L Wie frage ich ab, ob in einem Array, Werte doppelt vorkommen? Java Basics - Anfänger-Themen 4
Kirby.exe Fehlende Int Werte aus Array mit streams finden Java Basics - Anfänger-Themen 19
Ellachen55 Wie nach häufigste Werte im Array suchen? Java Basics - Anfänger-Themen 2
D Input/Output Input von zwei Koordinaten validieren und anschließend Werte speichern Java Basics - Anfänger-Themen 7
F Variablen Werte einer Klasse überschreiben Java Basics - Anfänger-Themen 4
M Werte ändern sich nicht mehr nach Reset Java Basics - Anfänger-Themen 14
F Character umwandeln als Double Werte Java Basics - Anfänger-Themen 8
B Werte aus einem Unterprogramm in ein Array schreiben Java Basics - Anfänger-Themen 2
L Nur Bestimmte Werte aus einem Array in ein anderes Speichern Java Basics - Anfänger-Themen 11
C Ganzzahlige Werte in Boolean ausgeben und überprüfen ob Primzahl oder nicht, wenn es keine Primzahl ist soll es die Primfaktorzerlegung ausgeben Java Basics - Anfänger-Themen 4
S Werte aufsummieren in java? Java Basics - Anfänger-Themen 5
M Werte des Arrays addieren Java Basics - Anfänger-Themen 5
A Alle true Werte eines boolean Arrays herausfiltern Java Basics - Anfänger-Themen 19
C System.in.read() Boolsche Werte vergleichen Java Basics - Anfänger-Themen 8
M prüfen ob alle array werte gleich sind Java Basics - Anfänger-Themen 27
D Werte aus einem BinärBaum in einem Array speichern Java Basics - Anfänger-Themen 1
R Datenbank-Werte dynamisch ausgeben Java Basics - Anfänger-Themen 19
E Eigenschaften Werte, in einer anderen Klasse, zuweisen Java Basics - Anfänger-Themen 40
H Methoden Nutzung der Werte einer ausgeführten Objektmethode in anderen Objektmethoden Java Basics - Anfänger-Themen 2
O Map Werte Java Basics - Anfänger-Themen 2
dapzoo Compiler-Fehler Beim Werte verteilen in Objektarray NullPointerException Java Basics - Anfänger-Themen 4
L Werte zufällig aus Array zurückgeben Java Basics - Anfänger-Themen 15
B mehrere Werte mit scanner und while schleife einlesen, max berechnen bzw addieren Java Basics - Anfänger-Themen 2
S werte von objekten in schleife verändern Java Basics - Anfänger-Themen 14
R Vererbung werte von einem Objekt aus ein anderes übertragen Java Basics - Anfänger-Themen 7
D Datei auslesen & Werte in Variable speichern Java Basics - Anfänger-Themen 12
N Methoden HashMap interne Werte miteinander vergleichen Java Basics - Anfänger-Themen 7
L Bestimmte Werte eines Arrays ausgeben. Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben