myGully.com

myGully.com (https://mygully.com/index.php)
-   Programmierung (https://mygully.com/forumdisplay.php?f=67)
-   -   [JAVA]kleiner währungsrechner dollar<->euro ohne compilerfehler funktioniert nicht... (https://mygully.com/showthread.php?t=2244623)

tuete771 02.03.11 18:32

[JAVA]kleiner währungsrechner dollar<->euro ohne compilerfehler funktioniert nicht...
 
hey,

mein kleiner versuch eines währungsrechner für dollar und euro funktioniert nicht...vielleicht findet jemand den fehler...
ich tippe auf etwas mit dem actionlistener, hab das noch nich wirklich verstanden

hier ist mein code:


[Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...]

GangBangMutti 02.03.11 21:03

Du definierst Button einmal global und einmal lokal!

(Dein Code ist auch ziemlich gruselig!)

isaak 02.03.11 21:30

wie GangBangMutti schon sagte, achte darauf, dass du den Button und auch die Textfelder nicht nochmal lokal anlegst

dann wird es auch klappen

mfg



edit: sehe gerad noch einen fehler, du musst die abfrage des listeners ändern, anstatt 2 if abfragen, musst du wenigstens ein if / else if machen,
da ja nach der umrechnung das andere Textfeld gefüllt wird

tuete771 03.03.11 13:03

Zitat:

Zitat von GangBangMutti (Beitrag 21978341)

(Dein Code ist auch ziemlich gruselig!)

kannst du das spezifizieren? man will ja stets dazulernen...


Zitat:

Zitat von isaak (Beitrag 21978482)
wie GangBangMutti schon sagte, achte darauf, dass du den Button und auch die Textfelder nicht nochmal lokal anlegst

dann wird es auch klappen

mfg



edit: sehe gerad noch einen fehler, du musst die abfrage des listeners ändern, anstatt 2 if abfragen, musst du wenigstens ein if / else if machen,
da ja nach der umrechnung das andere Textfeld gefüllt wird

habs etwas abgeändert, funktioniert jetzt....nur werden die bilder nicht auf die jbutton gelegt...(wenn es auskommentiert ist) woran liegt das? die bilder sind im ordner neben der java-datei vorhanden und der compiler hat auch wieder keine probleme mit dem code ;)

[Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...]

NeX# 03.03.11 16:40

Mach doch das (jetzt nur ein Beispiel, kannst es ja andersrum machen):
Textfeld 1, da kommt Euro rein.
Textfeld 2, da kommt Dollar rein.
Du willst jetzt z.B. wissen, wieviel Dollar 10€ sind (oder allgemein Euro), dann schaust du dir den aktuellen Umrechnungsfaktor an und machst Textfeld1 * Textfeld 2.. und das Ergebniss kommt halt dann in Textfeld 2 raus.
Verstanden : D?

Naja kenne mich mit Java nicht soo gut aus aber bei .Net wärs so (ich weiß das es da viel anders ist:

Textbox2.Text = Texbox1.Text * Umrechnungsfaktor

Viel Glück..

Jester2 04.03.11 22:46

Zitat:

Zitat von tuete771 (Beitrag 21980223)
Zitat:

Zitat von GangBangMutti (Beitrag 21978341)
(Dein Code ist auch ziemlich gruselig!)

kannst du das spezifizieren? man will ja stets dazulernen...

Verstehe ich auch nicht. Ich habe schon wesentlich schlimmeren Code gesehen. Sicher kann man hier einiges anders machen, aber zum Lernen reicht das so definitiv aus.

Zitat:

Zitat von tuete771 (Beitrag 21980223)
nur werden die bilder nicht auf die jbutton gelegt...(wenn es auskommentiert ist) woran liegt das? die bilder sind im ordner neben der java-datei vorhanden und der compiler hat auch wieder keine probleme mit dem code ;)

Wenn die Bilder im Klassenpfad liegen, dann musst du die über den Classloader laden, ansonsten wird das nix. Am besten legst du die ins default package, dann kannst die so laden:
Code:

ImageIcon icond = new ImageIcon(getClass().getClassLoader().getResource("d.jpg"));
Ansonsten musst du das Unterverzeichnis in dem sie liegen noch angeben.

Nochwas. Sowas hier
Code:

event.getSource() == dbutton
Solltest du nicht machen. Immer mit equals() vergleichen:
Code:

event.getSource().equals(dbutton)
"==" setzt voraus, dass die Objektreferenzen identisch sind. Das wird dann problematisch, wenn die Objekte unterschiedliche Referenzen im Speicher haben.

Gruß
Jester

GangBangMutti 05.03.11 15:36

Zitat:

Zitat von tuete771 (Beitrag 21980223)
kannst du das spezifizieren? man will ja stets dazulernen...

Moderne Programmiersprachen (wie eben Java) bieten genug Möglichkeiten, um "sauberen" Code zu schreiben. Du verwendest aber keine einzige davon.
Dein Code scheint dann vielleicht irgendwie zu funktionieren, aber es ist keine Struktur zu erkennen!

1. Dein Konstruktor baut ein UI auf! Das ist schon mal ziemlicher Murks.
Konstruktoren sollen Dein Objekt nur instanzieren.
Methoden sind dazu da, um das Objekt agieren zu lassen, aber nicht Konstruktoren.

2. Deine Code-Kommentare ("Button", "Fenster", "Label") sind nutzlos.
Da kannst Du auch gleich vor jede Variable "Variable", vor jede Klasse "Klasse" und vor jede Methode "Methode" schreiben.

3. Du definierst globale Variablen, die Du nur lokal verwendest.

4. Du definierst Null-Variablen und keinen einzigen Null-Check.

5. Du verwendest konstante Werte, definierst diese aber nicht als Konstanten

6. Deine if-Abfragen sind nicht performant sondern überprüfen die EventSource doppelt

7. String-Vergleich mit "==" statt equals

8. Keine catch/try beim Parsen

9. Kein Extrahieren mehrfach verwendeter Objekt-Eigenschaften (.getSource(), .getText())

10. Unnütze Verwendung/Instanzierung neuer Variable (Euro, Dollar kannst Du auch mit einer Double-Variable errechnen)

11. Keine Verwendung von Methode sondern alles in einem Block (hier auch noch der Konstruktor)

12. Package-Name = Klassen-Name

13. Euro, Dollar, Button sind public

und und und...


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:02 Uhr.

Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.