Voila mon un petit probleme:
J'ai un JPopupMenu avec quelques sous-menus declarés en tant que JMenu.
J'ai beaucoup de lignes dans le sous-menu si bien qu'il depasse la hauteur de l'écran.
J'ai donc essayé de changer le layout du sous-menu afin de remplacer celui par défaut par un GridLayout pour que mes lignes apparaissent sous forme d'une grille. Ca ne marche pas.
J'ai essayer de faire la meme chose sur le JPopupMenu et la ca fonctionne.
Mon bout de code:
Code :
- JPopupMenu jPopupMenuVariables;
- ...
- private void preparePopupVariable() {
- final Font font = new java.awt.Font("Monospaced", 0, 10);
- final Source[] sources = cacheSources.donneTableau();
- for(int j=0;j<sources.length;j++) {
- /* Je veux changer le layout de ce menu */
- final JMenu menu = new JMenu(sources[j].mnemo);
- final Variable[] variables = cacheVariables.donneListeChiffre(sources[j].id);
- for(int i=0;i<variables.length;i++) {
- final JMenuItem menuItem = new JMenuItem(variables[i].mnemo);
- menuItem.setFont(font);
- menuItem.setToolTipText(variables[i].libelle);
- menuItem.addActionListener(new ActionListener() {
- public void actionPerformed(final ActionEvent e) {
- popupVariable_actionPerformed(e);
- }
- });
- menu.add(menuItem);
- }//end for
- if(menu.getItemCount() != 0) {
- menu.setFont(font);
- jPopupMenuVariables.add(menu);
- }//end if
- }//end for
- }//end preparePopupVariable
|
Est-ce que quelqu'un a deja essayé ?
---------------
Light is right