如何在 JFrameMenu 子菜单中并行放置两个元素?
How can I put two elements in parallel in a JFrameMenu submenu?
如果我有 JFrameMenu
和 "File"、"Edit"、"View"...假设我想要一个带有 JTextField
和一个按钮来做某事。我怎样才能把这两个东西并行?
我唯一能做的就是把它们一个接一个地放或者放一个分隔符。
为了更好地解释我想要什么,我画了这个,红色是我可以做的只是向菜单添加元素,绿色是我想要的:
谢谢。
事实上,您可以简单地在菜单中放置一个 JPanel:
JTextField textField;
JMenuBar menuBar = new JMenuBar();
setJMenuBar(menuBar);
JMenu fileMenu = new JMenu("File");
menuBar.add(fileMenu);
JMenuItem menuItem1 = new JMenuItem("Menu Item above");
fileMenu.add(menuItem1);
JSeparator separatorAbove = new JSeparator();
fileMenu.add(separatorAbove);
JPanel panel = new JPanel();
fileMenu.add(panel);
textField = new JTextField();
panel.add(textField);
textField.setColumns(10);
JButton button = new JButton("New button");
panel.add(button);
JSeparator separatorBelow = new JSeparator();
fileMenu.add(separatorBelow);
JMenuItem menuItem2 = new JMenuItem("Menu Item below");
fileMenu.add(menuItem2);
产生这个:
如果我有 JFrameMenu
和 "File"、"Edit"、"View"...假设我想要一个带有 JTextField
和一个按钮来做某事。我怎样才能把这两个东西并行?
我唯一能做的就是把它们一个接一个地放或者放一个分隔符。
为了更好地解释我想要什么,我画了这个,红色是我可以做的只是向菜单添加元素,绿色是我想要的:
谢谢。
事实上,您可以简单地在菜单中放置一个 JPanel:
JTextField textField;
JMenuBar menuBar = new JMenuBar();
setJMenuBar(menuBar);
JMenu fileMenu = new JMenu("File");
menuBar.add(fileMenu);
JMenuItem menuItem1 = new JMenuItem("Menu Item above");
fileMenu.add(menuItem1);
JSeparator separatorAbove = new JSeparator();
fileMenu.add(separatorAbove);
JPanel panel = new JPanel();
fileMenu.add(panel);
textField = new JTextField();
panel.add(textField);
textField.setColumns(10);
JButton button = new JButton("New button");
panel.add(button);
JSeparator separatorBelow = new JSeparator();
fileMenu.add(separatorBelow);
JMenuItem menuItem2 = new JMenuItem("Menu Item below");
fileMenu.add(menuItem2);
产生这个: