我一直在尝试重载JMenu并放入一些自定义代码来支持JTextField,但是这并不顺利.我的主要目的是在菜单项的右侧添加一个搜索字段.所以我有一些文件,编辑,左边的帮助,然后在右边将是搜索栏,几乎像一些谷歌搜索栏在一些浏览器.有人有一个想法,我可以如何添加这个功能?
解决方法
我从来没有看到像JMenuItem,我认为alyways放在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(); } }); } }