5.- Menús
Per a poder col·locar menús ens els programes gràfic de Java utilitzarem 3 classes de Swing: JMenuBar, JMenu i JMenuItem
- JMenuBar : barra de menú. Serà el menú principal, el que es col·loca dalt de tot.
- JMenu: cada element del menú principal, és a dir, els que es despleguen cap avall.
- JMenuItem: cada element de menú. Els assignarem una acció.
També podrem posar barres separadores (JSeparator).
I si volem un submenú que es desplegue cap a la dreta, col·loquem un JMenu dins d'un JMenu.
Per a incloure un element dins d'un altre, ho farem per un mètode del pare, add, especificant com a paràmetre el fill. El menú principal l'especificarem per un mètode de JFrame, setJMenuBar.
Els JMenuItem són els que poden realitzar una acció, i ho farem registrant-los igual que els botons.
Mirem directament un exemple, on col·loquem un poc de tot.
class Finestra : JFrame() {
val menu_p = JMenuBar()
val menu_1 = JMenu("Menu 1")
val menu_2 = JMenu("Menu 2")
val menu_3 = JMenu("Menu 3")
val menu_11 = JMenuItem("Menu 11")
val menu_12 = JMenu("Menu 12")
val menu_13 = JMenuItem("Menu 13")
val menu_21 = JMenuItem("Menu 21")
val menu_22 = JMenuItem("Menu 22")
val menu_e = JMenuItem("Eixir")
val menu_121 = JMenuItem("Menu 121")
val menu_122 = JMenuItem("Menu 122 (eixir)")
init {
defaultCloseOperation = JFrame.EXIT_ON_CLOSE
setTitle("Exemple de Menús")
setSize(400, 300)
setJMenuBar(menu_p)
menu_p.add(menu_1)
menu_p.add(menu_2)
menu_p.add(menu_3)
menu_1.add(menu_11)
menu_1.add(menu_12)
menu_1.add(JSeparator())
menu_1.add(menu_13)
menu_12.add(menu_121)
menu_12.add(menu_122)
menu_2.add(menu_21)
menu_2.add(menu_22)
menu_3.add(menu_e)
menu_122.addActionListener { eixir() }
menu_e.addActionListener { eixir() }
}
fun eixir(){
System.exit(0)
}
}
El resultat serà aquest (despleguem el de més a l'esquerra per veure la barra separadora i el submenú)

Llicenciat sota la Llicència Creative Commons Reconeixement NoComercial SenseObraDerivada 2.5