JComponent erweitern

detrix

Mitglied
Hallo,

ich würde gerne JComponent um einige Funktionalitäten erweitern. Prinzipiell kein Problem, allerdings soll auch JLabel und JPanel von der neuen Funktionalität gebrauch machen können (quasi "Mehrfachvererbung").


  • QComponent extends JComponent
  • QLabel extends QComponent (aber auch JLabel)
  • QPanel extends QComponent (aber auch JPanel)
  • QCustom1 extends QComponent
  • QCustom2 extends QComponent
  • ...

Ein Ansatz, der aber leider keine Früchte trägt (der Netbeans Visuell-Designer spinnt):

Java:
public class QComponent extends JComponent {
   
    public QComponent() {
    }
    
    public void custom1() {
    }
 
    ...
}

Java:
public class QLabel extends QComponent {
    
    private JLabel label;

    public QLabel() {
        label = new JLabel();
    }

    public void setText(String string) {
        label.setText(string);
    }

    public String getText() {
        return label.getText();
    }

    @Override
    public void paint(Graphics grphcs) {
        label.paint(grphcs);
    }    
}

Wäre um Hilfe sehr dankbar.

Grüße
 
S

SlaterB

Gast
ein JLabel ist nun mal keine kleine Spielerei sonder hat hunderte Methoden, nicht unbedingt alle in JLabel definiert, aber auch die JComponent-Methoden sind wichtig, die müsstest du auch das label-Klassenattribut umdrehen,
außerdem wäre wichtig dass du dieses label in die GUI einfügst, nicht das QLabel-Objekt an sich, welches nur eine JComponent ist, kein JLabel,

das ist alles reichlich unpraktikal, viel besser geht es doch andersrum: bleibe in der Hauptvererbung bei Swing, QLabel extends JLabel,
und verwende dagegen als Attribut ein QObjekt!, diese gemeinsame Q-Klasse sollte dann auch nicht von JComponent erben,
höchstens eine JComponent (das aktuelle Label, TextFeld usw.) als Parameter bekommen, falls benötigt,
Überschreiben von Swing-Methoden ginge dann evtl. nicht, ob das reicht hängt von den genauen Zielen ab
 

detrix

Mitglied
[...] diese gemeinsame Q-Klasse sollte dann auch nicht von JComponent erben,
höchstens eine JComponent (das aktuelle Label, TextFeld usw.) als Parameter bekommen, [...]

Naja, damit kann ich dann aber nicht auf eine einfache Art und Weise eigene Komponenten realisieren. Sprich: QCustom > QComponent > JComponent
 
Zuletzt bearbeitet von einem Moderator:
S

SlaterB

Gast
was genau hast du denn vor hinsichtlich 'eigene Komponenten'?
selbst wenn du in jeder Unterklasse QLabel, .. mehrere JComponent-Methoden überschreiben und an das Attribut weiterleiten müsstest, so wie im Moment andersrum, wäre das noch bisschen denkbar und umsetzbar,

aber dein gepostetet Code mit dem JLabel als Attribut, nein das halte ich für sehr sehr ungünstig, praktisch nicht machbar
 

detrix

Mitglied
Dass mein Beispiel im ersten Beitrag nicht klappt, sehe ich ein.

Eigene Komponenten sind z. B. Tacho, Skalen, usw. die gewisse Grundfunktionalitäten benötigen, genau wie z. B. JLabel oder JPanel. Daher wäre es natürlich praktisch JComponent zu erweitern.

Eigentlich wäre es umgedreht - so wie Du es beschrieben hast - sinnvoller. Allerdings würde ich dann QComponent von JComponent erben lassen. Damit können die eigenen Komponenten von QComponent erben und bei JLabel/JPanel wende ich so etwas ähnliches wie oben an... :-/
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Batik: Inhalt JComponent to SVG? AWT, Swing, JavaFX & SWT 6
Hatsi09 JComponent anklicken und "entklicken" AWT, Swing, JavaFX & SWT 7
L JComponent aus JPanel anhand Mausposition ermitteln AWT, Swing, JavaFX & SWT 10
S Swing Schwierigkeiten mit JComponent AWT, Swing, JavaFX & SWT 4
T Swing JComponent vergrößern AWT, Swing, JavaFX & SWT 4
L JComponent und MouseMotionListener AWT, Swing, JavaFX & SWT 2
M Mouse Click Event ohne ein JComponent Objekt AWT, Swing, JavaFX & SWT 3
L Eigene JComponent in GridLayout AWT, Swing, JavaFX & SWT 9
Z JComponent's requestFocus() - Wieso nicht immer anwendbar? AWT, Swing, JavaFX & SWT 1
Z Java-Swing : JComponent AWT, Swing, JavaFX & SWT 2
W JComponent - ComponentListener - resized / moved AWT, Swing, JavaFX & SWT 5
Developer_X Wie heißt das JComponent hier? AWT, Swing, JavaFX & SWT 2
A Swing Eigene JComponent Scrollable AWT, Swing, JavaFX & SWT 6
R JComponent auf Canvas AWT, Swing, JavaFX & SWT 8
A Abgeleitete JComponent wird nicht gezeichnet AWT, Swing, JavaFX & SWT 10
A JComponent Größe AWT, Swing, JavaFX & SWT 8
T jcomponent wird nicht angezeigt AWT, Swing, JavaFX & SWT 9
S Eigene JComponent Image zeichnen AWT, Swing, JavaFX & SWT 3
H Swing "Drag and Drop" eines JComponent über ein JPanel AWT, Swing, JavaFX & SWT 2
N 2D-Grafik RTF in eigener JComponent AWT, Swing, JavaFX & SWT 2
D Swing JComponent zeichnen ohne sie zur Oberfläche hinzuzufügen AWT, Swing, JavaFX & SWT 2
P JComponent / JLabel drehen (Rotation) AWT, Swing, JavaFX & SWT 2
1 JComponent -> java.lang.NullPointerException AWT, Swing, JavaFX & SWT 13
M 2x JComponent in einem JFrame darstellen? AWT, Swing, JavaFX & SWT 7
StupidAttack Animation, JComponent AWT, Swing, JavaFX & SWT 3
P Swing Eigene Komponente Entwickeln - erben von JComponent oder JPanel? AWT, Swing, JavaFX & SWT 5
B Wechsel JTextArea und JComponent AWT, Swing, JavaFX & SWT 9
S Unterscheiden ob ein Graphics-Objekt von einer JComponent oder einem BufferedImage kommt..? AWT, Swing, JavaFX & SWT 4
H JComponent == JTextfield? AWT, Swing, JavaFX & SWT 4
C Ermitteln ob JComponent einen Listener besitzt AWT, Swing, JavaFX & SWT 2
T Eigene JComponent AWT, Swing, JavaFX & SWT 4
G JComponent nachträglich in JPanel einfügen AWT, Swing, JavaFX & SWT 5
M Ganzen Frame mit JComponent ausfüllen AWT, Swing, JavaFX & SWT 9
M JMenu teilweise unter einer JComponent AWT, Swing, JavaFX & SWT 4
I Swing JComponent als BufferedImage speichern AWT, Swing, JavaFX & SWT 18
1 Eigene JComponent mit MouseListener versehen AWT, Swing, JavaFX & SWT 10
T JComponent nur in Swing verwendbar? AWT, Swing, JavaFX & SWT 6
M Mehrere Icons in einer JComponent AWT, Swing, JavaFX & SWT 5
Dragonfire Image von JComponent AWT, Swing, JavaFX & SWT 2
T x und y herrausfinden eines JComponent auf JFrame AWT, Swing, JavaFX & SWT 14
J absolute Position einer JComponent ermitteln AWT, Swing, JavaFX & SWT 4
B "weiches" Bewegen von einem JComponent AWT, Swing, JavaFX & SWT 18
ARadauer JPanel vs JComponent AWT, Swing, JavaFX & SWT 2
I JDialog aus JComponent erstellen AWT, Swing, JavaFX & SWT 2
S JComponent u. JPanel ausdrucken AWT, Swing, JavaFX & SWT 3
J SWT JComponent Problem AWT, Swing, JavaFX & SWT 4
T JComponent überzeichnen? AWT, Swing, JavaFX & SWT 2
G JComponent in JTable AWT, Swing, JavaFX & SWT 8
M JComponent wird in JFrame nicht angezeigt AWT, Swing, JavaFX & SWT 4
D bei Thread in JComponent malen NullPointerException AWT, Swing, JavaFX & SWT 3
S Alle EventListener einer JComponent abfragen? AWT, Swing, JavaFX & SWT 3
S JComponent in JPanel darstellen AWT, Swing, JavaFX & SWT 2
N JComponent#getClientProperty(key) welche Schlüssel gibt es? AWT, Swing, JavaFX & SWT 3
E Drucken von JComponent. AWT, Swing, JavaFX & SWT 4
S JComponent ersetzen AWT, Swing, JavaFX & SWT 13
R Resize Problem bei JComponent AWT, Swing, JavaFX & SWT 2
M JButton in JComponent abfragen AWT, Swing, JavaFX & SWT 6
S Mausbehandlungen für JComponent AWT, Swing, JavaFX & SWT 7
M Verschiebbare JComponent AWT, Swing, JavaFX & SWT 5
C zeichnen auf jComponent AWT, Swing, JavaFX & SWT 3
S in einem JComponent zu zeichnen AWT, Swing, JavaFX & SWT 4
G Grafik auf JComponent ohne Überschreiben von Paint-Methoden AWT, Swing, JavaFX & SWT 4
R JComponent malt seine Kinder nicht AWT, Swing, JavaFX & SWT 8
G JComponent Hintergrund AWT, Swing, JavaFX & SWT 3
M JMenu auf JComponent? AWT, Swing, JavaFX & SWT 10
G Graphics (g) und JComponent prob. AWT, Swing, JavaFX & SWT 2
G Klasse XYComponent extends JComponent AWT, Swing, JavaFX & SWT 3
S SceneBuilder gridpane erweitern AWT, Swing, JavaFX & SWT 0
B GridPane erweitern AWT, Swing, JavaFX & SWT 0
J JavaFX Shapes (Line) erweitern AWT, Swing, JavaFX & SWT 11
N JavaFX Erweitern der Line(Shape)-Klasse AWT, Swing, JavaFX & SWT 1
R JComboBox erweitern AWT, Swing, JavaFX & SWT 5
T JXTreeTable mit Klick auf TreeNode erweitern AWT, Swing, JavaFX & SWT 12
M Swing jTable: aktuell angesehne Einträge um Infos erweitern AWT, Swing, JavaFX & SWT 7
C Swing CardLayout dynamisch erweitern AWT, Swing, JavaFX & SWT 11
D Jtable mit Dropdown Menü erweitern funktioniert nicht AWT, Swing, JavaFX & SWT 5
B JToolBar dynamisch auf mehrere Zeilen erweitern AWT, Swing, JavaFX & SWT 2
M JButton erweitern AWT, Swing, JavaFX & SWT 4
O Swing JTree um Label (oder Panel) erweitern AWT, Swing, JavaFX & SWT 9
C JTable dynamische erweitern AWT, Swing, JavaFX & SWT 2
Gossi 2D-Grafik Linie erweitern? AWT, Swing, JavaFX & SWT 10
H Confirm Dialog erweitern AWT, Swing, JavaFX & SWT 5
Z Swing JButton erweitern/Gridlayout AWT, Swing, JavaFX & SWT 2
J Swing Problem mit JTable erweitern AWT, Swing, JavaFX & SWT 6
D Komponenten um weitere Hintergrund- bzw. Vordergrundfarbe erweitern AWT, Swing, JavaFX & SWT 11
M JPopupMenu - Ein vorhandenes Kontextmenü erweitern AWT, Swing, JavaFX & SWT 6
D JFormattedTextfield um Grafik erweitern AWT, Swing, JavaFX & SWT 15
D JTable um eine Zeile erweitern AWT, Swing, JavaFX & SWT 4
X Maximale Zeilenanzahl einer JTable erweitern AWT, Swing, JavaFX & SWT 7
N JFrame standart buttons erweitern AWT, Swing, JavaFX & SWT 3
V JComboBox mit besonderen Funktionen erweitern AWT, Swing, JavaFX & SWT 3
E Bestehende Anwendung erweitern ->JFrame in JPanel verpack AWT, Swing, JavaFX & SWT 4
M jtable erweitern AWT, Swing, JavaFX & SWT 6
G Anwendung um Scrollpane erweitern AWT, Swing, JavaFX & SWT 2
L (jface) InputDialog erweitern. AWT, Swing, JavaFX & SWT 2
G JButton erweitern? AWT, Swing, JavaFX & SWT 17
S ToolTip erweitern bei Swing (Mehrzeilig) AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben