Το μενού (JMenuBar)

Για τη δηιμιουργία ενός μενού χρειαζόμαστε τρία στοιχεία (components).

  1. Το JMenuBar που είναι η μπάρα του μενού και περιέχει όλα τα μενού όπως "File", "Edit" κ.λπ.
  2. Το JMenu το οποίο περιέχει τα στοιχεία μενού ή λίστα μενού. Για παράδειγμα το "File" είναι ένα JMenu. Κάθε JMenu περιέχεται μέσα σε ένα JMenuBar.
  3. Το JMenuItem το οποίο είναι το στοιχείο μενού και περιέχεται σε ένα JMenu.

Κάθε φορά που δημιουργούμε ένα JMenuItem το κάνουμε add σε ένα JMenu.

Κάθε JMenu το κάνουμε add στο JMenuBar.

Τέλος, το JMenuBar το κάνουμε setJMenuBar και όχι add στο παράθυρο που έχουμε δημιουργήσει.

import javax.swing.*;

public class App {

    public static void main(String[] args) {
        MenuBarApp frame = new MenuBarApp();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
    }
}

class MenuBarApp extends JFrame {

    //θα χρειαστούμε τα παρακάτω στοιχεία (components)
    JMenuBar menuBar;
    JMenu fileMenu, editMenu, helpMenu;
    JMenuItem openItem, exitItem, cutItem, copyItem, pasteItem;
    
    public MenuBarApp() {
        setSize(400, 300);
        setTitle("my java application"); 
        
        //δημιουργία του menuBar
        menuBar = new JMenuBar();
        
        //δημιουργία του  fileMenu και πρόσθεση στο menuBar
        fileMenu = new JMenu("File");
        menuBar.add(fileMenu);
        
        //δημιουργία του  editMenu και πρόσθεση στο menuBar
        editMenu = new JMenu("Edit");
        menuBar.add(editMenu);
        
        //δημιουργία του  editMenu και πρόσθεση στο menuBar
        helpMenu = new JMenu("Help");
        menuBar.add(helpMenu);    
        
        //δημιουργία του  openItem και πρόσθεση στο fileMenu
        openItem = new JMenuItem("Open");
        fileMenu.add(openItem);
        
        //δημιουργία του  exitItem και πρόσθεση στο fileMenu
        exitItem = new JMenuItem("Exit");
        fileMenu.add(exitItem);  
        
        //δημιουργία του  cutItem και πρόσθεση στο editMenu
        cutItem = new JMenuItem("Cut");
        editMenu.add(cutItem);  
        
        //δημιουργία του  copyItem και πρόσθεση στο editMenu
        copyItem = new JMenuItem("Copy");
        editMenu.add(copyItem); 
        
        //δημιουργία του  pasteItem και πρόσθεση στο editMenu
        pasteItem = new JMenuItem("Paste");
        editMenu.add(pasteItem);        
        
        //πρόσθεση του menuBar στο παράθυρο με την εντολή setJMenuBar (όχι με add())
        setJMenuBar(menuBar);  
    }
}