Java JMenuBar Beispiel / Tutorial

Posted: Dezember 29th, 2008 | Filed under: Programmieren | Tags: , , , , , , , , , | 11 Comments »

Hallo Leute, heute wollte ich euch zeigen wie man eine Menüleiste in Java realisiert.
Dazu erstellen wir ein JFrame und fügen diesem eine JMenuBar hinzu. Die JMenuBar gibt das Rahmenwerk für das jeweilige JMenu. Ein JMenu repräsentiert ein Navigationspunkt. Um Menüunterpunkte zu erzeugen fügen wir unserem JMenu ein JMenuItem hinzu. So einfach geht’s.

JMenuBar -> JMenu (z.B.: Hilfe) -> JMenuItem (z.B.: Über)

JMenuBarBeispiel Screenshot

Am Besten ihr schaut euch den folgenden Quellcode an.

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

public class JMenuBarBeispiel implements ActionListener {
     
     JFrame applikation;
     Container container;
     
     // Menüleiste
     JMenuBar menueLeiste;
     
     // Menüleiste Elemente
     JMenu datei;
     JMenu hilfe;
     
     // Datei
     JMenuItem oeffnen;
     JMenuItem beenden;
     
     // Hilfe
     JMenuItem faq;
     JMenuItem about;

     // Textfeld
     JTextArea textarea;
     
     public JMenuBarBeispiel() {
          applikation = new JFrame("JMenuBar Beispiel");
          container = applikation.getContentPane();
          
          // Menüleiste erzeugen
          menueLeiste = new JMenuBar();
          
          // Menüelemente erzeugen
          datei = new JMenu("Datei");
          hilfe = new JMenu("Hilfe");
          
          // Untermenüelemente erzeugen
          oeffnen = new JMenuItem("öffnen");
          oeffnen.addActionListener(this);
          beenden = new JMenuItem("beenden");
          beenden.addActionListener(this);
          faq = new JMenuItem("F.A.Q.");
          faq.addActionListener(this);
          about = new JMenuItem("Über");
          about.addActionListener(this);
          
          // Menüelemente hinzufügen
          menueLeiste.add(datei);
          menueLeiste.add(hilfe);
          
          // Untermenüelemente hinzufügen
          datei.add(oeffnen);
          datei.add(beenden);
          hilfe.add(faq);
          hilfe.add(about);

          // Textfeld erzeugen
          textarea = new JTextArea();          
          
          applikation.add(menueLeiste, BorderLayout.NORTH);
          applikation.add(new JScrollPane(textarea), BorderLayout.CENTER);

          applikation.setSize(400300);
          applikation.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
          applikation.setVisible(true);
     }
     
     public void actionPerformed(ActionEvent object) {
          if (object.getSource() == oeffnen){
               System.out.println("öffnen wurde angeklickt");
          }
          if (object.getSource() == beenden){
               System.out.println("beenden wurde angeklickt");
          }
          if (object.getSource() == faq){
               System.out.println("faq wurde angeklickt");
          }
          if (object.getSource() == about){
               System.out.println("über wurde angeklickt");
          }
     }
     
     public static void main(String[] args) {
          new JMenuBarBeispiel();
     }
}

Hier könnt ihr den Quellcode als Textdatei herunterladen.
Viel Spaß beim weiteren Programmieren. Ihr könnt mein Programm natürlich auch gerne als Vorlage verwenden.


11 Comments on “Java JMenuBar Beispiel / Tutorial”

  1. 1 blogring.org said at 21:19 on Dezember 31st, 2008:

    Blogring für tutorial+php…

    Verwandte Blog-Einträge…

  2. 2 OS said at 12:43 on Februar 24th, 2010:

    Schön, interessant wäre allerdings, wie man die MenuItems zentriert in der Menu-Bar darstellt.

    Grüße O

  3. 3 headset said at 09:09 on April 19th, 2010:

    Echt super
    Danke!!!

  4. 4 Thom said at 19:35 on Juli 30th, 2011:

    Vielen Dank!
    gesucht, gefunden, verstanden, benutzt.
    JCheckBoxMenuItem könnte noch mit rein, aber das hat man dann ja auch schnell gefunden.

  5. 5 schmidi000 said at 20:53 on Dezember 17th, 2011:

    Geil danke, das ist genau das was ich gesucht habe^^

  6. 6 cracylord said at 20:47 on April 6th, 2012:

    Super, hat echt geholfen 🙂

  7. 7 Uschi said at 13:03 on April 24th, 2013:

    Hab mal ne Frage,

    wenn ich jezze einen von den Untermenüpunkten nur dann anklickbar machen möchte, wenn eine bestimmte Vorraussetzung erfüllt wurde(in meinem Fall bei „Restart“ eines Spiels, zu meinem Zeitpunkt gerne noch leer), wie enable ich das. Eclipse antzeptiert meine Ideen nicht:

    public void enableRestart() {
    menuItem.setEnabled(true);

    Vielen Danke für deine Hilfe bisher.

    LG

  8. 8 mathestar said at 08:33 on Juli 1st, 2013:

    Gut, hätte aber noch gerne gewusst, wie man die Menus nicht zentriert darstellt…

  9. 9 Name (required) said at 23:17 on März 31st, 2015:

    Low

  10. 10 K. Schneider said at 02:04 on Januar 23rd, 2016:

    Vielen Dank! Genau das hatte ich gesucht! Super leicht verständlich und dank Kommentare Prima erklärt!

  11. 11 Tim said at 22:15 on September 7th, 2019:

    Hallo Frank,

    ich habe eine Frage. Ich habe ein Programm erstellt, so ähnlich wie Du das gemacht hast. Ich möchte aber, dass wenn ich z. B. auf Datenschutz klicke, sich ein neues Fenster öffnet. In diesem neuen Fenster steht dann ein Text. Was muss ich in mein Programm einfügen? Kannst Du mir bitte helfen?

    Viele Grüße
    Tim

    import javax.swing.JFrame;
    import javax.swing.JMenu;
    import javax.swing.JMenuBar;
    import javax.swing.JMenuItem;

    /*
    * Erstellen eines Fensters mit einer automatischen Groesse
    */
    class MenuFrame extends JFrame{
    public MenuFrame(){
    super(„Lia“);
    setDefaultCloseOperation(
    JFrame.EXIT_ON_CLOSE);

    //Erstellen einer Menüleiste
    JMenuBar menuBar = new JMenuBar();

    //Hinzufügen von Menüs
    JMenu menuApp =
    new JMenu("Über Lia");
    JMenu menuSettings =
    new JMenu("Einstellungen");
    JMenu menuPrivacy =
    new JMenu("Datenschutz");

    menuBar.add(menuApp);
    menuBar.add(menuSettings);
    menuBar.add(menuPrivacy);

    //Hinzufügen der Menüleiste zum Frame
    setJMenuBar(menuBar);

    /*
    *Des Weiteren werden noch Einträge in die JMenus ‚Bearbeiten‘ und ‚Hilfe‘ eingefügt und zu guter letzt wird mit dem Befehl setJMenuBar die oben erstellte Menüleiste als Menüleiste für dieses Fenster festgelegt.
    */

    setSize(400,300);
    setLocation(50,50);
    setVisible(true);

    }

    public static void main(String[] args){
    new MenuFrame();
    }
    }


Leave a Reply