ERLEDIGT
NEIN
NEIN
ANTWORTEN
4
4
ZUGRIFFE
189
189
EMPFEHLEN
-
Hallo,
ich habe MyTextComponent von JTextComponent abgeleitet und ein paar Methoden überschrieben.
Code :1 2 3 4
public class MyTextComponent extends JTextComponent { ... }
Mein Problem ist jetzt:
Folgendes funktioniert:
Code :1
JTextComponent jtcomp = new JTextField();
Das wiederum nicht mehr:
Code :1
MyTextComponent jtcomp = new JTextField();
Warum funktioniert das zweite Beispiel nicht, obwohl es von JTextComponent abgeleitet wurde?
Danke!mfg chrootdev
------------------------------
Java, C++, Linux
-
09.08.11 14:06 #2SE Tutorials.de Gastzugang
Weil JTextField von JTextComponent abgeleitet ist , und nicht von MyTextComponent. Daher meldet der Compiler hier einen ClassCastError *sollte er zumindest* weil er nicht weis was von deiner Klasse erbt. Ansonsten hättest du eine Mehrfachvererbung was in Java nicht zulässig ist , da :
JTextField extends JTextComponent
bereits gegeben ist , müsstest du jetzt also ein eigenes TextField von deiner TextComponent ableiten , also
MyTextField extends MyTextComponent
-
Hi
Du kannst einer Variable Instanzen ihres Typs und aller abgeleiteten Typen zuweisen.
In "JTextComponent jtcomp" passt alles rein, was von JTextComponent abgeleitet ist.
zB. JTextComponent selber, oder JTextField, oder MyTextComponent.
Alles, was mindestens die Methoden und Variablen hat, die JTextComponent auch hat.
Um ein JTextField aber in "MyTextComponent jtcomp" zu speichern müsste JTextField alles haben, was MyTextComponent hat (und vielleicht noch mehr). Mit anderen Worten: JTextField müsste in der Hierarchie unter MyTextComponent stehen, also davon abgeleitet sein.
Gruß
-
Hi,
danke für die Antworten, jetzt ist es mir klar, das das so nicht geht!
Gibts eine andere Möglichkeit, außer ein JTextFiled von MyTextComponent abgeleitet zu bauen, das JTextField in MyTextComponent zu bekommen?
Danke!mfg chrootdev
------------------------------
Java, C++, Linux
-
09.08.11 14:34 #5SE Tutorials.de Gastzugang
Nun ... es kommt darauf an was du in der MyTextComponent überschreibst ... wenn es möglich ist solltest du dierekt von JTextField ableiten und darin alles überschreiben was du brauchst.
Ähnliche Themen
-
Kontextmenü mit JDialog (oder nur mit JTextComponent)
Von vfl_freak im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 0Letzter Beitrag: 19.09.08, 08:43 -
Ableitung von TCanvas/TImage
Von Chronix im Forum Delphi, Kylix, PascalAntworten: 6Letzter Beitrag: 21.01.08, 11:11 -
Ableitung von Vector<E>
Von theLMF im Forum JavaAntworten: 3Letzter Beitrag: 18.10.07, 08:42 -
TreeView ableitung, DragDrop?
Von Trivalik im Forum .NET Web und KommunikationAntworten: 1Letzter Beitrag: 20.09.05, 09:42 -
Mathe :) dif VS Ableitung
Von vinc5nt im Forum SmalltalkAntworten: 0Letzter Beitrag: 04.12.01, 16:15





Zitieren

Login





