Swing OOP Vorlage verwenden und bearbeiten

xerion21

Mitglied
Hallo zusammen,

ich habe mal ein OOP-Frage welche die GUI betrifft.

Ich habe ein VorlagenFrame erstellt, welches nur als Vorlage dient und sonst keine Funktion hat.
Nun möchte ich dieses Frame je nach Verwendung bearbeiten. Also wenn die von dem Controller aufgerufen wird, dann wird dieses Menu hinzugefügt, wenn nicht, dann ein anderes. Wie stelle ich sowas normalerweise da?
Mir fallen da drei Möglichkeiten ein:
(1) Entweder ich erstelle die MenuBar in der Vorlage und setzte diese dann auf protected, damit ich damit weiterarbeiten kann.
Java:
// Vorlage
protected JMenuBar _menubar = new JMenuBar();
Java:
//KindFrame
private _initFrame() {
  this._menubar.add(irgendeinItem);
}
(2) Ich erstelle die MenuBar in der Vorlage und erstelle eine public Methode Add zum hinzufügen von Menus:
Java:
//Vorlage
private JMenuBar _menubar  = new JMenuBar();

public void addMenu( JMenu menu) {
  this._menubar.add(menu);
}
Java:
/KindFrame
private JMenu _menu1 = new JMenu("Test");

private _initFrame() {
  this.addMenu(this._menu1);
}
(3) Oder ich erstelle die MenuBar ganz in der Kindklasse
Java:
//KindFrame
  private JMenuBar() _menubar = new JMenuBar();
  private JMenu _menu = new JMenu("Test");

private _initFrame() {
  this._menubar.add(this._menu);
  this.setJMenuBar(this._menubar);
}

Ich brauche definitiv in jeder Kindklasse eine Menu...

Danke für Eure Antworten ;)
 

Gucky

Top Contributor
Wenn auf jeden Fall alle Kindframes ein Menü haben, dann solltest du das Menü in der Superklasse erstellen oder zumindest Vorrichtungen zum Erstellen bereitstellen. Wenn nicht alle ein Menü haben, dann tendiere ich eher dazu noch eine Klasse JMenuFrame extends JVorlagenFrame zu erstellen und davon alle anderen Frames erben zu lassen.

Allerdings macht eine Erweiterung einer Klasse nur dann einen Sinn, wenn die Erweiterung auch neue Funktionalität hinzufügt oder Alte überschreibt. Also du könntest dein JMenuFrame erstellen, dieses aber von anderen Klassen benutzen lassen. (per Konvention. Ich habe mir leider angewöhnt sämtliche Klassen, die Fenster o.Ä. darstellen extends JDingens zu machen und habe damit nie Probleme bekommen. Nur der Code wird unübersichtlich (, wofür es GUI Builder gibt)
 

xerion21

Mitglied
also erstelle ich am einfachsten noch eine Klasse vom JMenu und bereite eine Funktion in der SuperKlasse vor, mit der ich dann das Menu hinzufügen kann.

Oder soll ich einfach dann eine Unterklasse erben, der ich dann das Panel einfach mit this.addJMenuBar hinzufüge?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Menu Vorlage gesucht. AWT, Swing, JavaFX & SWT 4
S Welches Java Layout sollte ich verwenden? AWT, Swing, JavaFX & SWT 3
frager2345 Bild aus Dateien lesen und als Hintergrund verwenden AWT, Swing, JavaFX & SWT 2
_user_q Objekte vom MainController in anderen Controller verwenden und andersherum (NullPointerException) AWT, Swing, JavaFX & SWT 14
C Swing ImageIcon erstellen, skalieren und verwenden AWT, Swing, JavaFX & SWT 3
N JavaFX Unicode zeichnen in javafx Label verwenden AWT, Swing, JavaFX & SWT 2
O Soll ich einen JEditorPane verwenden ? AWT, Swing, JavaFX & SWT 5
S JavaFX Variablen in einem FXML File verwenden AWT, Swing, JavaFX & SWT 8
M JavaFX MenuBar und Camera zusammen verwenden AWT, Swing, JavaFX & SWT 2
F Welchen Layoutmanager verwenden? AWT, Swing, JavaFX & SWT 2
V JavaFX, Pane construktor von einer Klasse in der Main verwenden. AWT, Swing, JavaFX & SWT 4
P Swing welchen Layout Manager verwenden AWT, Swing, JavaFX & SWT 9
M AWT Java-Taschenrechner, wie Stack richtig verwenden? AWT, Swing, JavaFX & SWT 14
S JVM von Oracle/Sun soll für AWT/SWING Elemente die die Optimierungen der NVidia Treiber verwenden AWT, Swing, JavaFX & SWT 3
T JTree, Knoten mehrmals verwenden AWT, Swing, JavaFX & SWT 5
P Swing JPanel mit ActionListener mehrfach verwenden AWT, Swing, JavaFX & SWT 8
B Anderen Layout-Manager verwenden AWT, Swing, JavaFX & SWT 17
T NullLayout verwenden, oder nicht? AWT, Swing, JavaFX & SWT 9
O Welche GUI verwenden? AWT, Swing, JavaFX & SWT 2
S JCalendar verwenden AWT, Swing, JavaFX & SWT 5
G GUI Elemente aus NetBeans verwenden AWT, Swing, JavaFX & SWT 8
H Swing JPanel Inhalt wird bei verwenden von JPopup gelöscht AWT, Swing, JavaFX & SWT 5
eskimo328 Java6 Methode in Java5 verwenden (memory leak JInternalFrame) AWT, Swing, JavaFX & SWT 4
I LookAndFeel Wie kann ich das Look and Feel "Blue Vista" verwenden? AWT, Swing, JavaFX & SWT 4
W Daten auf Textfeld in anderer Klasse verwenden AWT, Swing, JavaFX & SWT 4
R JOptionPane.YES_NO_CANCEL_OPTION im SaveDialog verwenden AWT, Swing, JavaFX & SWT 6
A Swingworker rückgabewert verwenden AWT, Swing, JavaFX & SWT 9
Y Swing JTabel verwenden ? AWT, Swing, JavaFX & SWT 11
Y JColorChooser verwenden AWT, Swing, JavaFX & SWT 8
D Objekt mit Button erstellen und mit anderem Button verwenden AWT, Swing, JavaFX & SWT 4
Luk10 NPE bei Verwenden von ActionListener! AWT, Swing, JavaFX & SWT 2
B Eingabe von JTextField verwenden AWT, Swing, JavaFX & SWT 10
A AWT Bilder als Link verwenden? AWT, Swing, JavaFX & SWT 11
S Koordinaten aus Array verwenden zum zeichnen auf JPanel?! AWT, Swing, JavaFX & SWT 3
F jFileChooser verwenden AWT, Swing, JavaFX & SWT 4
I Swing Wann invokeLater() verwenden? AWT, Swing, JavaFX & SWT 7
S AWT Eigenen Cursor im Frame verwenden... AWT, Swing, JavaFX & SWT 5
Yuen TableLayout verwenden / Classpath AWT, Swing, JavaFX & SWT 3
I Texteingabe des Benutzers in der GUI verwenden AWT, Swing, JavaFX & SWT 5
S Componente mehrmals verwenden ? AWT, Swing, JavaFX & SWT 3
H paint verwenden AWT, Swing, JavaFX & SWT 3
H JFileChooser richtig verwenden AWT, Swing, JavaFX & SWT 3
F Externes Look & Feel für Swing wie importieren/verwenden AWT, Swing, JavaFX & SWT 3
H JFileChooser im Applet verwenden AWT, Swing, JavaFX & SWT 2
B In einer JTextArea unterschiedliche Schriftarten verwenden? AWT, Swing, JavaFX & SWT 3
P Umlaute in GUI verwenden AWT, Swing, JavaFX & SWT 5
M Bilder als Link verwenden? AWT, Swing, JavaFX & SWT 3
P Fehler beim Verwenden von swt.jar mit NetBeans AWT, Swing, JavaFX & SWT 2
M Windows file icons in Java verwenden AWT, Swing, JavaFX & SWT 2
S das selbe JLabel öffters verwenden AWT, Swing, JavaFX & SWT 6
R JProgressBar ohne Threads verwenden AWT, Swing, JavaFX & SWT 6
m@nu convertPoint richtig verwenden? AWT, Swing, JavaFX & SWT 2
A Klassenübergreifend MouseListener verwenden AWT, Swing, JavaFX & SWT 14
T JDialog als Optionen Fenster verwenden AWT, Swing, JavaFX & SWT 6
lin Welches Objekt für einen About-Dialog verwenden? AWT, Swing, JavaFX & SWT 2
G Bei JScrollpane statt Scrollbar eine Vorschau verwenden AWT, Swing, JavaFX & SWT 3
K JComboBox und JTextField zusammen verwenden AWT, Swing, JavaFX & SWT 3
D invalidate() - wie verwenden? AWT, Swing, JavaFX & SWT 2
A gif-Datei als Button verwenden AWT, Swing, JavaFX & SWT 4
G Listener mehrfach verwenden AWT, Swing, JavaFX & SWT 2
R mehrere buttons mit forschleife kreieren und individuell bearbeiten AWT, Swing, JavaFX & SWT 1
X Neues Fenster mit Button öffnen und bearbeiten AWT, Swing, JavaFX & SWT 4
L Daten bearbeiten ohne GUI zu blockieren - daten haltung/zurück geben AWT, Swing, JavaFX & SWT 15
karlmasutra JavaFX Listenelemente bearbeiten Listview AWT, Swing, JavaFX & SWT 1
J JavaFX - Felder (Label) in einer ForSchleife bearbeiten AWT, Swing, JavaFX & SWT 4
T Nur bestimmte Bereiche eines Fotos bearbeiten AWT, Swing, JavaFX & SWT 0
T Videos abspielen und bearbeiten AWT, Swing, JavaFX & SWT 6
T Swing Label aus anderer Methode bearbeiten AWT, Swing, JavaFX & SWT 2
B Bild bearbeiten mit Transparenz (spiegeln, Farben austauschen) AWT, Swing, JavaFX & SWT 8
A Skaliertes Image pixelweise bearbeiten AWT, Swing, JavaFX & SWT 6
C Swing Inhalt eines JPanels ermitteln & bearbeiten AWT, Swing, JavaFX & SWT 5
U [MVC] Objekt bearbeiten AWT, Swing, JavaFX & SWT 9
T SWT Tabellen Kopf Schrift bearbeiten AWT, Swing, JavaFX & SWT 2
S JTable Daten bearbeiten und Grauwertbild erzeugen! AWT, Swing, JavaFX & SWT 4
D TableModel + Daten bearbeiten + Daten zurückschreiben AWT, Swing, JavaFX & SWT 9
G Bilder bearbeiten pixelweise AWT, Swing, JavaFX & SWT 5
T JTableHeader bearbeiten. AWT, Swing, JavaFX & SWT 4
S Probl. bei Java Programm - Dialog zum Bearbeiten von Bildern AWT, Swing, JavaFX & SWT 4
D Grafik bearbeiten AWT, Swing, JavaFX & SWT 11
C Das aufrufende Fenster bearbeiten AWT, Swing, JavaFX & SWT 3
N Image Array einer anderen Klasse bearbeiten AWT, Swing, JavaFX & SWT 2
L Komponenten dynamisch erkennen und bearbeiten AWT, Swing, JavaFX & SWT 8

Ähnliche Java Themen

Neue Themen


Oben