He intentado sobrecargar JMenu y poner un código personalizado para admitir un JTextField, pero eso no va bien. Mi objetivo principal aquí es agregar un campo de búsqueda a la derecha de mis elementos de menú. Así que tengo algo como Archivo, Editar, ayuda a la izquierda y luego a la derecha sería la barra de búsqueda, casi como la barra de búsqueda de Google en algunos navegadores. ¿Alguien tiene una idea de cómo podría agregar esta funcionalidad?¿Cómo puedo agregar un JTextField a la barra de menús de JFrame?
Respuesta
nunca ver que a medida que JMenuItem
, creo que alyways colocan en JMenuBar
import java.awt.ComponentOrientation;
import javax.swing.*;
public class MenuGlueDemo {
public MenuGlueDemo() {
JMenuBar menuBar = new JMenuBar();
menuBar.add(createMenu("Menu 1"));
menuBar.add(createMenu("Menu 2"));
menuBar.add(createMenu("Menu 3"));
menuBar.add(new JSeparator());
menuBar.add(new JButton(" Seach .... "));
menuBar.add(new JTextField(" Seach .... "));
menuBar.add(new JComboBox(new Object[]{"height", "length", "volume"}));
menuBar.add(Box.createHorizontalGlue());
menuBar.add(createMenu("About"));
JFrame frame = new JFrame("MenuGlueDemo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(menuBar);
frame.pack();
frame.setVisible(true);
}
public JMenu createMenu(String title) {
JMenu m = new JMenu(title);
m.add("Menu item #1 in " + title);
m.add("Menu item #2 in " + title);
m.add("Menu item #3 in " + title);
if (title.equals("About")) {
m.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
}
return m;
}
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
MenuGlueDemo menuGlueDemo = new MenuGlueDemo();
}
});
}
}
¡Desearía poder votar esto más de una vez, gracias por otra excelente respuesta! – Grammin
eres bienvenido, me alegro de ayudar +1, y no es fácil poner JComponent en el JMenuItem, utilicé para eso solo JDialog/JWindow (GridLayout) con JComponents añadidos – mKorbel
Ah bien, gracias por el consejo – Grammin
- 1. ¿Cómo puedo agregar un QLineEdit a la barra de menú
- 2. ¿Cómo agregar múltiples componentes a un JFrame?
- 3. ¿Cómo puedo personalizar la barra de título en JFrame?
- 4. ¿Cómo muevo mi JMenuBar a la barra de menús de la pantalla en Mac OS X?
- 5. agregar una consola a un Jframe
- 6. ¿Cómo puedo agregar una barra de progreso a WWW :: Mechanize?
- 7. Cómo quitar la barra de título en JFrame
- 8. Agregar barra de desplazamiento a la tabla
- 9. ¿Agregar/re-agregar botones a la barra de herramientas en eclipse?
- 10. Agregar imagen a la barra de navegación
- 11. muestra Jframe pero no muestra la barra de título en la barra de tareas
- 12. Cómo desenfocar un JTextField
- 13. crear la barra de menús HTML en HTML
- 14. Agregar 2 o más objetos a JFrame
- 15. ¿Cómo puedo agregar un QComboBox a la barra de herramientas principal en Qt Creator?
- 16. Cómo ocultar un JFrame en la bandeja del sistema de la barra de tareas
- 17. ¿Cómo validar un JTextField?
- 18. Ejecutar y buscar aparecen en la barra de menús RCP
- 19. ¿Cómo hacer un JFrame realmente a pantalla completa?
- 20. Ocultar barra de menús de Eclipse (ocultar automáticamente)
- 21. Agregar botón a la barra de título de la ventana
- 22. Cómo agregar la barra de progreso a ActionBarSherlock
- 23. actualizar JFrame después de agregar nuevos componentes
- 24. Cómo convertir JTextField a String y String en JTextField?
- 25. Cómo TDD un JFrame?
- 26. JTextField: Cómo configurar el texto a la izquierda de JTextField cuando el texto es demasiado largo
- 27. ¿Cómo agregar un botón adicional a la barra de título de la ventana?
- 28. ¿Cómo puedo agregar un elemento de la barra de acciones durante el tiempo de ejecución
- 29. ¿Cómo puedo agregar un botón a la barra de subtítulos de WPF mientras uso la ventana personalizada de cromo?
- 30. Agregar barra de herramientas a UITableViewController
Por qué no se van bien? ¿Qué * específicamente * parece molestarlo? – mre
@mre Me encontré con un callejón sin salida donde estoy tratando de agregar el cuadro de texto en lugar de un botón. JMenuItem hereda de AbstractButton, así que no sé cómo agregar un cuadro de texto en lugar de simplemente cambiar el texto en un AbstractButton. Tampoco creo que esta sea la mejor forma de agregar la funcionalidad de la que estoy hablando porque parece que tendré que cambiar un montón de cosas en JMenu. Creo que estoy buscando orientación sobre una mejor manera de hacer esto, entonces lo que estoy tratando de hacer en este momento. – Grammin