Hiho, ich habe mehrere Layout-Komponenten (JLabel, JPanel, JComboBox ...) selbst gebastelt und entsprechend abgeleitet.
Jetzt hab ich aber mehrere Funktionen die in allen Komponenten gleich sind zum Beispiel zum einfacheren ändern der Größe, Farbe etc. . Da ich jetzt aber schon meine eigene Klasse von einer Klasse abgeleitet habe kann ich ja nicht eine weitere ableiten also hab ich in jeder eigenen Klasse die gleichen Funktionen.
Ist es möglich irgendwie von einer zweiten Klasse abzuleiten oder das ganze irgendwie per Interface zu implementieren? Denn wenn ich etwas an meinen Funktionen änder muss ich das immer 10x machen und das is ja eigentlich nicht der Sinn von OOP :/
Bin für jede Hilfe dankbar, hier noch ein kleines Beispiel zum besseren Verständniss:
(Meine CustomComboBox soll jetzt irgendwie die Funktionen der Klasse CustomComponent erben.)
Jetzt hab ich aber mehrere Funktionen die in allen Komponenten gleich sind zum Beispiel zum einfacheren ändern der Größe, Farbe etc. . Da ich jetzt aber schon meine eigene Klasse von einer Klasse abgeleitet habe kann ich ja nicht eine weitere ableiten also hab ich in jeder eigenen Klasse die gleichen Funktionen.
Ist es möglich irgendwie von einer zweiten Klasse abzuleiten oder das ganze irgendwie per Interface zu implementieren? Denn wenn ich etwas an meinen Funktionen änder muss ich das immer 10x machen und das is ja eigentlich nicht der Sinn von OOP :/
Bin für jede Hilfe dankbar, hier noch ein kleines Beispiel zum besseren Verständniss:
(Meine CustomComboBox soll jetzt irgendwie die Funktionen der Klasse CustomComponent erben.)
Code:
public class CustomComboBox extends JComboBox {
public CustomComboBox(String[][] mContent) {
super();
setModel(new DefaultComboBoxModel(makeVectorData(mContent)));
setRenderer(new ComboBoxRenderer());
addActionListener(new BlockComboListener(this));
}
.......
}
public class CustomComponent extends JComponent {
public void setFixedSize(int width, int height) {
setPreferredSize(new Dimension(width, height));
setMaximumSize(new Dimension(width, height));
setMinimumSize(new Dimension(width, height));
}
}