Foro de elhacker.net

Programación => Java => Mensaje iniciado por: zonahurbana en 13 Marzo 2014, 17:29 pm



Título: Consulta sobre JMenuBar
Publicado por: zonahurbana en 13 Marzo 2014, 17:29 pm
A este componente le puedo agregar varios JMenu y a cada uno de estos sus correspondientes JMenuItem, pero si lo que deseo es agregarle botones al JMenuBar, ¿cómo puedo hacerlo?
Porque recuerdo haber visto un menú que además de tener opciones escritas en texto presentaba botones a modo de imágenes pequeñas (tampoco tan pequeñas como íconos, sino de 60px aproximadamente).

Gracias de antemano, espero que puedan ayudarme.


Título: Re: Consulta sobre JMenuBar
Publicado por: 1mpuls0 en 13 Marzo 2014, 17:46 pm
Código
  1. import javax.swing.*;
  2. import java.awt.*;
  3. import java.awt.event.ActionEvent;
  4. import java.awt.event.MouseAdapter;
  5. import java.awt.event.MouseEvent;
  6.  
  7. public class ToolbarDemo {
  8.  
  9.    public static void main(String[] args) {
  10.        final JFrame frame = new JFrame();
  11.        frame.setPreferredSize(new Dimension(600, 400));
  12.        final JToolBar toolBar = new JToolBar();
  13.  
  14.        //Create the popup menu.
  15.        final JPopupMenu popup = new JPopupMenu();
  16.        popup.add(new JMenuItem(new AbstractAction("Option 1") {
  17.            public void actionPerformed(ActionEvent e) {
  18.                JOptionPane.showMessageDialog(frame, "Option 1 selected");
  19.            }
  20.        }));
  21.        popup.add(new JMenuItem(new AbstractAction("Option 2") {
  22.            public void actionPerformed(ActionEvent e) {
  23.                JOptionPane.showMessageDialog(frame, "Option 2 selected");
  24.            }
  25.        }));
  26.  
  27.        final JButton button = new JButton("Options");
  28.        button.addMouseListener(new MouseAdapter() {
  29.            public void mousePressed(MouseEvent e) {
  30.                popup.show(e.getComponent(), e.getX(), e.getY());
  31.            }
  32.        });
  33.        toolBar.add(button);
  34.  
  35.        frame.getContentPane().add(toolBar, BorderLayout.NORTH);
  36.        frame.pack();
  37.        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  38.        frame.setLocationRelativeTo(null);
  39.        frame.setVisible(true);
  40.    }
  41. }
  42.  

:http://stackoverflow.com/questions/1692677/how-to-create-a-jbutton-with-a-menu


Título: Re: Consulta sobre JMenuBar
Publicado por: zonahurbana en 13 Marzo 2014, 20:02 pm
Muchas gracias.
Justo hace poco me dijeron en un grupo que el componente era JToolBar, pero creo que a fin de cuentas no lo usaré... es decir, lo estoy usando pero desactivé la propiedad de que sea flotante, ya que si es desplazado a otra posición dentro del JFrame al que pertenece se comienza a descuadrar todo.
Probablemente haya forma de adecuarlo mediante código para que esto no suceda, pero ahora estoy usando el asistente de Netbeans para crear la interfaz "más rápido".
Me di cuenta que incluso puedo usar los Layout...