Eclipse / GUI / Fragen und Antworten(richtig?)

hallo,

ich möchte gerne wissen ob, meine folgenden Antworten richtig sind:

1.) In welcher Klasse wird das Objekt der Fachklasse erzeugt?: 
-> Startklasse
2.) In welcher Klasse wird das Fenster der Fachklasse erzeugt?: -> Hauptklasse
3.)Begriff Ergeignis:
-> Ausführen einer Methode
4.)Was ist eine GUI:
-> Benutzeröberfläche 
5.) Wo steht die Main Methode?:
->
(Ganz oben)

Noch offen
Wozu wird der Action Listener(GUI) gebraucht?:
Wie wird der Inhalt eines Textfeldes in einem Attribut(int/String) übertragen?:
Wie wird der Inhalt eines Attributs(int/string) in ein Textfeld übertragen?:

Danke :smile:

Hallo,

ich vermute mal, dass ihr eigene Konventionen und Namen eingeführt habt. Die Fragen kann man allgemeingültig schwer beantworten.

1.) In welcher Klasse wird das Objekt der Fachklasseerzeugt?:

Ich gehe mal davon aus, dass bei euch eine Fachklasse eine Klasse ist, die fachspezifische Anwendungslogik ausführt. Je nachdem welcher Architektur man nachgeht, kann so eine Klasse überall erzeugt werden. Wenn man von MVC-Varianten ausgeht, entspricht so eine Klasse am ehesten dem Model und wird üblicherweise vom Controller erzeugt. Das kann bei euch durchaus die main-Methode sein.

2.) In welcher Klasse wird das Fenster der Fachklasse erzeugt?:

Wenn eure Fachklasse ein Fenster hat, lag ich mit meiner Vermutung wahrscheinlich falsch. Üblicherweise sind Fachklassen (im Sinne wie oben) eigenständige Klassen, die in tieferen Schichten liegen. Oberflächen gehören meistens zu der obersten Schicht. Normalerweise greifen die obersten Schichten nur auf die darunterliegenden Schichten zu und nicht umgedreht. Deshalb würde nicht die Fachklasse ein Fenster haben, sondern das Fenster eine Fachklasse. In den meisten MVC-Varianten wäre auch der Controller für die Erstellung des Fensters zuständig, also z.B. auch eine main-Methode.

3.)Begriff Ergeignis:

Der Witz bei Ereignissen ist, dass die auszuführenden Methoden zur Kompilierzeit nicht feststehen müssen, sondern während der Laufzeit dynamisch registriert werden. Eine Klasse kann demnach Ereignisse bereitstellen und diese auslösen. Beim Auslösen eines Ereignisses werden alle registrierten Handler aufgerufen. Es gibt Ereignisse, die nur einen Handler unterstützen, aber auch Ereignisse für mehrere.

4.)Was ist eine GUI:

Benutzeroberfläche (oder auch Benutzungsoberfläche) allein reicht nicht. Eine Konsole ist auch eine Benutzungsoberfläche, aber keine GUI. Das „Grafisch“ ist also noch wichtig. Eventuell sollte man noch darauf eingehen, dass die UI an sich eine Schnittstelle ist, durch die der Nutzer mit der Anwendung interagieren kann.

5.) Wo steht die Main Methode?:

Die main-Methode kann irgendwo stehen. Üblicherweise sollte man sie in eine Klasse packen, in der man sie wiederfindet. Z.B. in der Klasse Main oder Program.

Noch offen
Wozu wird der Action Listener(GUI) gebraucht?:

ActionListener sind die Handler, die von Events aufgerufen werden.

Wie wird der Inhalt eines Textfeldes in einem Attribut(int/String) übertragen?

bei String-Attributen:

meinAttribut = meinTextfeld.getText()

bei int-Attributen:

meinAttribut = Integer.parseInt(meinTextfeld.getText());

Letztere Variante versucht die Zeichenfolge in eine Zahl umzuwandeln. Da das schiefgehen kann, sollte man das mit try/catch umschließen.

Wie wird der Inhalt eines Attributs(int/string) in einTextfeld bertragen?:

bei String-Attributen:

meinTextfeld.setText(meinAttribut);

bei int-Attributen:

meinTextfeld.setText(meinAttribut.toString())

Nico

Hi,

ein kleinen Fehler hab ich gefunden in deiner sonst guten Antwort.

bei int-Attributen:

meinTextfeld.setText(meinAttribut.toString())

Ein int hat keine toString() Methode (wobei ich davon ausgehe, dass du einen Integer meintest wo dein Lösungsvorschlag natürlich korrekt wäre)

richtig wäre:

meinTextfend.setText(String.valueOf(meinAttribut));

Sorry für die „Klugscheißerei“ aber der TE scheint wohl noch nicht allzu erfahren zu sein… da ist die Information sicherlich hilfreich.

Grüße

1 Like

Ups, stimmt natürlich.

Wobei ich persönlich eigentlich Integer.toString(meinAttribut) bevorzuge. Ist aber Geschmackssache :wink:

Nico

1 Like

Hi

nuja spart vermutlich n bissi was an Zeit, würd ich vermuten, aber ob das den Hund fett macht - naja du sagst es schon richtig, Geschmackssache - ich machs wenns den Hund nicht fett macht lieber ausführlicher.

Wichtig ist mir dass du mir das „kluggescheiße“ nicht böse nimmst, sondern es als konstruktive Kritik ansiehst :smile:

Grüße

Wichtig ist mir dass du mir das „kluggescheiße“ nicht böse
nimmst, sondern es als konstruktive Kritik ansiehst :smile:

Klar, kein Problem. War ja eine sinnvolle Anmerkung.