Threads Thread wenn extends schon vergeben

HI

Ich brauche für gui-Aktualisierungen einen eigenen Thread kann den aber nicht per extends ansprechen, da ich extends schon verwende:
Java:
public class DateinenEinlesen extends javax.swing.JFrame implements ActionListener ,I_DatenÄnderungenInfo
Wie schaffe ich hier trotzdem einen eigenen Thread, es werden aber nur Teile innerhalb der klasse aufgerufen.

lg S.
 
Hi & danke für die schnelle reaktion

An das hatte ich schon gedacht, jedoch benutze ich ein plugin, welches mir die Klasse mittels extend erstellt.
Mit der suche komme ich nicht weit, da bekomme ich nur die normalen, wo threads mittels extend vererbt wird.

mit implements runnable bin ich nicht wirklich weit gekommen, da komme ich (keine ahnung wie das möglich ist) in eine endlosschleife, ohne daß ich den code gestartet habe, nur durch aufklappen des programmcodes.

suche daher ein turtorial, wie ich einen thread starte, der innerhalb der klasse bleibt und ich den nicht vererben muß.

S.
 
Wenn du Probleme beim Runnable hast, dann solltest du vielleicht eher dieses Problem angehen. Eigentlich ist das nicht weiter schwer: Du implementierst Runnable, erzeugst deinen Thread und lässt ihn das Runnable ausführen. Läuft im Grossen und Ganzen auf das gleiche Verhalten hinaus, das du mit Erben von Thread erhalten würdest. Die Beispiele in der Doku zu Thread sind da doch recht einfach verständlich?
 
An das hatte ich schon gedacht, jedoch benutze ich ein plugin, welches mir die Klasse mittels extend erstellt.
Wie bitte? Was für ein Plugin soll den bitte so einen Schrott machen?

Grundsätzlich würde ich dir raten am Anfang erstmal komplett ohne extends zu arbeiten. Vererbung benutzt man als Anfänger viel zu oft und an völlig falschen Stelle, und sobald man kein Anfänger mehr ist wird es leider trotzdem immernoch zu häufig benutzt.
 
also "extends javax.swing.JFrame implements ActionListener" tut wirklich schon beim lesen weh ...

1) warum javax.swing.JFrame und nicht einfach schlicht JFrame ? > fehlende imports ! ... findet man leider immer wieder ... es ist ja offensichtlich das du swing brauchst ... also kannst du das paket auch importieren
2) extends JFrame macht man schon mal überhaupt nicht ... mir würde nicht mal ein grund einfallen über java.awt.Container sinnvoll zu erweitern ... von java.awt.Window mal ganz abgesehen
3) public ... ActionListener ... macht man auch nicht ... oder welchen sinn hat es deine klasse überall public als einen solchen zu verkaufen ? sowas macht man mit anonymen in-line classes ... oder wenn überhaupt mit ner private nested class ...

wenn dir ein ide-plugin einen solchen schrott generiert würde ich dir dringen von dessen verwendung abraten und dir eher an herz legen den code nach regeln des clean-codings selbst zu implementieren
 
Irgendwie scheint ja da ein Eclipse-Bug dazwischenzufunken (nach der Beschreibung zu urteilen; verifizieren kann ich das nicht, da ich eine andere IDE verwende).

Das mit "composition over inheritance" ist zwar m.E. bedenkenswert, allerdings sollte man das auch nicht allzu dogmatisch sehen, finde ich. Wie man eine OOP language wie Java ohne "extends" lernen sollte, erschliesst sich mir nicht. Klar, wird zu oft verwendet, und man sollte in der Tat Runnable implementieren, statt zu erben, um beim Thema Thread zu bleiben. Natürlich kann man auf "extends JFrame" verzichten durch composition, sollte dann aber auch die Nachteile (wrapper methods) erwähnen, denn eine Lösung, die nur Vorteile hat, gibt es leider nicht.

Wenn man von extends aber so drastisch abrät, ähnelt mir das eher einem Fahrlehrer, der seinen Schüler zwar auf den Fahrersitz lässt, aber davon abrät, den Motor zu starten, mit dem (sicherlich nicht ganz unzutreffenden) Argument, dass ja so viele Unfälle passieren.

Wenn man nicht vererbt, kann man nichts falsch damit machen, stimmt.
Bloss wie soll man es denn dann richtig lernen?

freundliche Grüße
Olli
 
Wenn man von extends aber so drastisch abrät...
Ich rate ja nicht generell von Vererbung ab, ich sage nur das es sinnvoll ist es am Anfang noch nicht zu benutzen, und wenn man nicht mehr am Anfang ist sollte man es nur dann benutzen wenn sich daraus eine sinnvolle Klasssenstruktur ergibt anstatt es zu oft zu benutzen.

Wenn man nicht vererbt, kann man nichts falsch damit machen, stimmt.
Bloss wie soll man es denn dann richtig lernen?

Nicht mit einer GUI die ein JFrame ist. Es gibt andere Strukturen mit denen man viel besser Vererbung lernen kann.
 

Zurück
Oben