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.");
}
}
}
}