JMenuBar in Frame einbauen

Status
Nicht offen für weitere Antworten.

joern1

Mitglied
Hallo zusammen,

ich würde gern eine GUI aus mehreren Klassen erstellen. Jetzt habe ich versucht, eine Klasse Menu, die
separat gut gelaufen ist, in eine Klasse MainFrame zu implementieren:


Code:
//package GUI;

import javax.swing.*;
import java.awt.BorderLayout;
import java.awt.Color;

public class MainFrame extends JFrame { 

	   public MainFrame() { 
	      super ("Main mit Menue");
		   setSize(800,800); 
		  JFrame fr = new JFrame();
		  Menu2 menu = new Menu2();
		  fr.setJMenuBar(menu);                            <-- Fehler 
	      BorderLayout layout = new BorderLayout(); 
	      getContentPane().setLayout(layout); 
	      setResizable(false);  
	      //getContentPane().add(menu, BorderLayout.NORTH); 
	     
	      MainView  main = new MainView(); 
	      getContentPane().add(main, BorderLayout.CENTER); 
	      getContentPane().setBackground(new Color(100, 100, 100)); 
	      //main.addActionListener(controller); 
	   } 
	   
	   public static void main (String args[]){
		   
		   MainFrame frame = new MainFrame(); 
		      frame.pack(); 
		      frame.setVisible(true);  
	  
		   
	   }

Ich zweifle gerade daran, dass man ein Menü einfach in einen Frame setzen kann ?
Vielleicht wäre es bei einer komplexeren GUI ja auch sinnvoll, das Menü als Hauptframe zu nutzen ?


Über Hinweise freue ich mich sehr .

Gruß
Jörn
 

joern1

Mitglied
Zunächst einmal danke...

Der Fehler befindet sich in der MainFrame Klasse.


Nachstehend noch einmal die Klasse Menu:

Code:
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.KeyEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;


import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;


public class Menu2 implements ActionListener {        //  <--  extends JFrame  habe ich an dieser Stelle entfernt
	
	//Container
	JMenuBar menuBar;
	
	//Dropdown Menü
	JMenu menu; 
	JMenu menu1;
	
	//Verschiedene Seiten implementieren
	
	
	
	//Menüeinträge 
	JMenuItem j1 = new JMenuItem("Kunden Anlegen");
	JMenuItem j2 = new JMenuItem("Kunden Suchen");
	JMenuItem j3 = new JMenuItem("Kundensatz drucken");
	JMenuItem j4 = new JMenuItem("Beenden");
	
//	Menüeinträge 
	JMenuItem jj1 = new JMenuItem("Seite1");
	
	JMenuItem jj2 = new JMenuItem("Seite2");
	JMenuItem jj3 = new JMenuItem("Seite3");
	JMenuItem jj4 = new JMenuItem("Beenden");
	
	
	public Menu2(){
	//super("Menü mit Update");	
	
	//setDefaultCloseOperation(DISPOSE_ON_CLOSE);  
	
	
	//setSize(800, 600); 
		
	menu  = new JMenu("Kunde");	
	menu1 = new JMenu("Bearbeiten");
		
	menu.add(j1);
	menu.add(j2);
	menu.add(j3);
	menu.addSeparator();
	menu.add(j4);
	
	menu1.add(jj1);
	jj1.setMnemonic(KeyEvent.VK_A);
	jj1.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,
            InputEvent.CTRL_MASK));
	jj1.addActionListener(this);
	
	menu1.add(jj2);
	jj2.setMnemonic(KeyEvent.VK_B);
	jj2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_B,
            InputEvent.CTRL_MASK));
	jj2.addActionListener(this);
	menu1.add(jj3);
	jj3.addActionListener(this);
	menu1.addSeparator();
	menu1.add(jj4);
	jj4.addActionListener(this); 
		
	menuBar = new JMenuBar();	
	menuBar.add(menu);
	menuBar.add(menu1); 
	//setJMenuBar(menuBar);       <---  musste auch entfernt werden, da der JFrame oben entfernt wurde.
	
	
	 
	}// end of construktor
	
	public void actionPerformed(final ActionEvent e) {}

	
			
	
}//end of class;

Ich habe das auch noch nie gesehen, dass ein Menu nicht dort benutzt wird, wo es auch erstellt wurde.

Vielen Dank
 

André Uhres

Top Contributor
Wie wär's mit
"class Menu2 extends JMenuBar ..."
und "menuBar" muss dann natürlich weg,
bzw. durch "this" ersetzt werden :wink:
 

Leroy42

Top Contributor
Warum erzeugst du im Konstruktor deines
MainFrame (was ja selber von JFrame abgeleitet ist)
noch ein weiteres JFrame?
Code:
JFrame fr = new JFrame();
:shock:
 

joern1

Mitglied
Ja, hab halt einiges ausprobiert, bevor ich gepostet habe.
Läuft zwar so, aber ist natürlich quark.

Also setJMenuBar(menu); oder this.setJMenuBar(menu); reicht.

Ich danke Dir...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Swing JMenuBar unten in der Frame setzen? AWT, Swing, JavaFX & SWT 15
J JMenuBar ist geaddet, aber nicht im Frame. Wo ist der Fehler? (inkl. Code) AWT, Swing, JavaFX & SWT 2
S JMenuBar Frame Abstand AWT, Swing, JavaFX & SWT 3
C JMenuBar AWT, Swing, JavaFX & SWT 6
K Event Handling Über JMenuBar die diversen Panels anzeigen AWT, Swing, JavaFX & SWT 10
J Swing JMenuItem blockiert JMenuBar AWT, Swing, JavaFX & SWT 2
S JMenuBar bei sichtbarer JGlassPane AWT, Swing, JavaFX & SWT 1
R JMenuBar.setFont tut nix ? AWT, Swing, JavaFX & SWT 1
I Swing JMenuBar auch unten am JFrame? AWT, Swing, JavaFX & SWT 2
A Swing JMenuBar updaten AWT, Swing, JavaFX & SWT 2
kaoZ Swing JMenuBar, Preferences, Properties... und viele andere lustige Dinge (Best Practice) AWT, Swing, JavaFX & SWT 15
Q Designfrage zur JMenuBar AWT, Swing, JavaFX & SWT 6
S JMenuBar wiederverwenden und Eventhandling anpassen AWT, Swing, JavaFX & SWT 4
Q Fragen zur JMenuBar & Co. AWT, Swing, JavaFX & SWT 3
M Über eine JMenuBar überprüfen ob ein JCheckBoxMenuItem selectiert ist. AWT, Swing, JavaFX & SWT 4
M JMenuBar, JMenu, JMenuItem wird nicht angezeigt AWT, Swing, JavaFX & SWT 16
G Swing JMenuBar zu weit links und oben dargestellt AWT, Swing, JavaFX & SWT 5
B Swing Dynamische JMenuBar AWT, Swing, JavaFX & SWT 2
D JMenuBar - CardLayout (Klasse anzeigen) AWT, Swing, JavaFX & SWT 3
H jMenuBar AWT, Swing, JavaFX & SWT 13
NR_EIGHT Swing Probleme mit JMenuBar AWT, Swing, JavaFX & SWT 6
M JMenuBar im Applet und paint AWT, Swing, JavaFX & SWT 9
Madlip JMenuBar in JFrame AWT, Swing, JavaFX & SWT 5
B JFrame / JMenuBar => Anfängerprobleme AWT, Swing, JavaFX & SWT 2
R JMenuBar AWT, Swing, JavaFX & SWT 2
S JMenuBar nach 1. Klick deselectieren AWT, Swing, JavaFX & SWT 6
Z JMenuBar wird nicht in JFrame angezeigt AWT, Swing, JavaFX & SWT 2
N JMenuBar verschwindet nicht nach ComponentEvent AWT, Swing, JavaFX & SWT 6
C JMenuBar aktualisieren? AWT, Swing, JavaFX & SWT 2
A Doppelte JMenuBar AWT, Swing, JavaFX & SWT 2
X NullPointerException beim Einfügen einer JMenuBar AWT, Swing, JavaFX & SWT 4
C JMenuBar im JFrame abgehackt AWT, Swing, JavaFX & SWT 7
J Swing JFrame mit JMenuBar, allerdings ohne Erfolg AWT, Swing, JavaFX & SWT 10
K Look&Feel von JMenuBar und Subkomponenten anpassen AWT, Swing, JavaFX & SWT 6
C JMenuBar linksbündig AWT, Swing, JavaFX & SWT 6
C Größe JMenuBar AWT, Swing, JavaFX & SWT 5
KrokoDiehl Swing Actions direkt auf der JMenuBar AWT, Swing, JavaFX & SWT 6
L Swing Kommunikation zwischen JMenuBar und anderen Componenten AWT, Swing, JavaFX & SWT 2
Developer_X Swing JMenuBar Layout AWT, Swing, JavaFX & SWT 2
kniffel JMenuBar aus anderer Klasse AWT, Swing, JavaFX & SWT 10
G Dynamische JMenuBar AWT, Swing, JavaFX & SWT 2
G JMenuBar verschmälern AWT, Swing, JavaFX & SWT 2
M ALT shortcut für JMenuBar deaktivieren AWT, Swing, JavaFX & SWT 3
X JMenuBar überlappt von JPanel :( AWT, Swing, JavaFX & SWT 7
M4nuel Warum überlagert JDesktopPane mein JMenuBar? AWT, Swing, JavaFX & SWT 5
G StatusBar Optik wie JMenuBar; GUI-Erzeugung delegieren AWT, Swing, JavaFX & SWT 2
D Canvas über JMenuBar AWT, Swing, JavaFX & SWT 7
P JMenuBar und JToolBar Anzeige Probleme AWT, Swing, JavaFX & SWT 5
C JLabel in JMenuBar frei platzieren AWT, Swing, JavaFX & SWT 2
B JMenubar AWT, Swing, JavaFX & SWT 5
Chris_1980 Makierungsfarbe bei JMenuBar ändern AWT, Swing, JavaFX & SWT 5
L Problem mit JMenuBar AWT, Swing, JavaFX & SWT 5
F JTextField rechts in der JMenuBar AWT, Swing, JavaFX & SWT 4
A gezeichnete Linie verschwindet, wenn ich JMenuBar öffne AWT, Swing, JavaFX & SWT 2
I JMenuBar - Menüs sortieren AWT, Swing, JavaFX & SWT 2
S JMenuBar mit Action belegen! AWT, Swing, JavaFX & SWT 5
M JMenuBar AWT, Swing, JavaFX & SWT 7
B JMenuBar sowie Buttons nach repaint auf JPanel AWT, Swing, JavaFX & SWT 2
T JMenuBar ausblenden lassen aber Hotkeys sollen erhalten sein AWT, Swing, JavaFX & SWT 2
S JMenuBar + update AWT, Swing, JavaFX & SWT 3
M JMenuBar - JMenu mit Tastenkombination aufrufen / anzeigen AWT, Swing, JavaFX & SWT 8
T JMenuBar zweizeilig AWT, Swing, JavaFX & SWT 2
A JMenuBar + paint (Image) AWT, Swing, JavaFX & SWT 6
M JmenuBar wird net angezeigt :( AWT, Swing, JavaFX & SWT 6
U komplette JMenuBar deaktivieren? AWT, Swing, JavaFX & SWT 4
S Mausklick reagiert nicht im JMenuBar AWT, Swing, JavaFX & SWT 4
A JMenuBar verschieben. AWT, Swing, JavaFX & SWT 4
T JMenuBar wird nicht richtig angezeigt AWT, Swing, JavaFX & SWT 5
H JFrame, JMenuBar, ScrollBar AWT, Swing, JavaFX & SWT 3
Fragerjava Frame inhalt komplett löschen AWT, Swing, JavaFX & SWT 4
volcanos Scrollen: JScrollPane mit Graphics g und Java-Fonts extends Frame ? AWT, Swing, JavaFX & SWT 5
Kotelettklopfer Frame ändert Farbe nicht AWT, Swing, JavaFX & SWT 12
P Swing Zufallsbilder auf Frame ausgeben AWT, Swing, JavaFX & SWT 1
D AWT Wie kann ich ein Frame von einem anderen aus beeinflussen? AWT, Swing, JavaFX & SWT 7
R 2D-Grafik Massive Frame Drops beim Benutzen von AffineTransformOp AWT, Swing, JavaFX & SWT 2
C Swing F5 Taste neu laden auf ganzen Frame AWT, Swing, JavaFX & SWT 9
J Genutzte Methoden in einen Frame einbauen AWT, Swing, JavaFX & SWT 21
H Swing Frame an andere Klassen weitergeben AWT, Swing, JavaFX & SWT 4
olfibits Swing JavaFX-Frame in JDesktopPane darstellen? AWT, Swing, JavaFX & SWT 2
F Swing Frame nach vorne holen AWT, Swing, JavaFX & SWT 2
J Panel auf Frame positionieren AWT, Swing, JavaFX & SWT 9
K Frame aus anderer Klasse schließen AWT, Swing, JavaFX & SWT 3
F AWT mehrere Panels in einem Frame AWT, Swing, JavaFX & SWT 17
S Tastatur frame nur nur 1 mal öffnen AWT, Swing, JavaFX & SWT 1
T Swing Java-Frame bei Programmstart NICHT im Vordergrund öffnen AWT, Swing, JavaFX & SWT 2
A Programm nun in ein Frame basteln AWT, Swing, JavaFX & SWT 1
T Frame öffnet nicht AWT, Swing, JavaFX & SWT 1
A Swing GUI - Button soll Frame verändern AWT, Swing, JavaFX & SWT 4
Java_RY AWT Frame in eine eigene klasse auslagern und aufrufen AWT, Swing, JavaFX & SWT 6
S mit keylistener frame schliessen AWT, Swing, JavaFX & SWT 8
Thallius Wer oder was bestimmt welches Frame toFront kommt wenn ein anderes geschlossen wird? AWT, Swing, JavaFX & SWT 8
Z Swing Frame wird geöffnet, aber ist ohne Inhalt AWT, Swing, JavaFX & SWT 0
J Panel auf Frame löschen und neues Panel Hinzufügen AWT, Swing, JavaFX & SWT 4
D Frame beim starten eines anderen Frames schließen AWT, Swing, JavaFX & SWT 2
S NetBeans, Panel in Frame einfügen AWT, Swing, JavaFX & SWT 3
M Internal Frame in den vordergrund AWT, Swing, JavaFX & SWT 4
Tausendsassa Frame öffnet aber zeigt keinen Inhalt... AWT, Swing, JavaFX & SWT 10
Tom299 JavaFX Ähnliche Komponente wie der VB6 Frame? AWT, Swing, JavaFX & SWT 2
L Swing Frame in Thread wird nicht gezeichnet AWT, Swing, JavaFX & SWT 2
K Swing JScrollPane - JScrollBar anzeigen, wenn Frame verkleinert wird AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben