Bizzare chez moi elle contient bien un menu.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| import java.awt.Dimension;
import java.awt.GridLayout;
import java.util.ArrayList;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
public class Snippet
{
public static void main(String args[])
{
JFrame maFrame = new JFrame("Open Jar File");
maFrame.setLocationRelativeTo(null);
maFrame.setSize(new Dimension(600, 300));
JMenuBar menuBar = new JMenuBar();
JMenu fichierMenu = new JMenu("Choix des Package");
ArrayList<JMenu> pck = new ArrayList<JMenu>();
ArrayList<JMenuItem> clas = new ArrayList<JMenuItem>();
pck.add(new JMenu("AAA"));
clas.add(new JMenuItem("A1"));
pck.add(new JMenu("BBB"));
clas.add(new JMenuItem("B1"));
pck.add(new JMenu("CCC"));
clas.add(new JMenuItem("B1"));
fichierMenu.setLayout(new GridLayout());
for (JMenu b : pck) {
fichierMenu.add(b);
for(JMenuItem v:clas){
b.add(v);
}}
menuBar.add(fichierMenu);
maFrame.setJMenuBar(menuBar);
maFrame.setVisible(true);
}
} |
Mais évidemment je n'ai montré que le dernier menu, les autres menu n'ont pas de sous éléments ... car tu ne peux pas réutiliser des composants swing a différents endroits.
Ici tu essaye de rajouter les même JMenuItem qui sont déja dans utilisé et donc au final tu ne vois que pour le dernier JMenu.
Partager