Hallo
Bin ein Java-Anfänger und spiele zur Zeit ein wenig mit Swing.
Ich möchte meine MenuBar als eigenständige Klasse machen.
Leider funktioniert dies bei mir nicht.
Ich habe 3 Klassen: MenuTestViewer, MenuTestFrame & MenuBar.
Wenn ich in der MenuTestFrame - Klasse genau das selbe definiere wie in der MenuBar-Klasse
funktioniert es (das ausgeklammerte unter: JMenuBar menuBar = new MenuBar()
Hat jemand einen Tipp?
Macht es überhaupt Sinn das Menü in einer eigenen Klasse zu definieren?
Danke
Freundliche Grüsse
chnooorzi
Bin ein Java-Anfänger und spiele zur Zeit ein wenig mit Swing.
Ich möchte meine MenuBar als eigenständige Klasse machen.
Leider funktioniert dies bei mir nicht.
Ich habe 3 Klassen: MenuTestViewer, MenuTestFrame & MenuBar.
Java:
import javax.swing.JFrame;
public class MenuTestViewer {
public static void main(String[] args) {
// TODO Auto-generated method stub
JFrame frame = new MenuTestFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setTitle("Bill");
frame.setVisible(true);
}
}
Java:
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
public class MenuTestFrame extends JFrame{
private static final int FRAME_WIDTH = 300;
private static final int FRAME_HEIGHT = 400;
private JLabel label1;
private JMenuBar menuBar;
private JMenu fileMenu;
private JMenuItem menuItem;
public MenuTestFrame() {
// TODO Auto-generated constructor stub
label1 = new JLabel("Hallo");
add(label1);
JMenuBar menuBar = new MenuBar();
//menuBar = new JMenuBar();
//fileMenu = new JMenu("File");
//menuItem = new JMenuItem("Exit");
//fileMenu.add(menuItem);
//menuBar.add(fileMenu);
setJMenuBar(menuBar);
setSize(FRAME_WIDTH, FRAME_HEIGHT);
}
}
Java:
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
public class MenuBar extends JMenuBar{
private JMenuBar menu;
private JMenu fileMenu;
private JMenuItem menuItem;
public MenuBar() {
// TODO Auto-generated constructor stub
menu = new JMenuBar();
fileMenu = new JMenu("File");
menuItem = new JMenuItem("Exit");
fileMenu.add(menuItem);
menu.add(fileMenu);
}
}
Wenn ich in der MenuTestFrame - Klasse genau das selbe definiere wie in der MenuBar-Klasse
funktioniert es (das ausgeklammerte unter: JMenuBar menuBar = new MenuBar()
Hat jemand einen Tipp?
Macht es überhaupt Sinn das Menü in einer eigenen Klasse zu definieren?
Danke
Freundliche Grüsse
chnooorzi