如何将JTextField添加到JFrame的MenuBar?

我一直在尝试重载JMenu并添加一些自定义代码来支持JTextField,但这并不顺利。 我的主要目的是在菜单项的右侧添加一个搜索字段。 所以我有左边的文件,编辑,帮助,然后右边是搜索栏,几乎就像在某些浏览器中有一个谷歌搜索栏。 有谁知道如何添加此function?

我从未将其视为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(); } }); } }