右侧摆动的一个菜单-java

时间:2014-11-03 00:07:36

标签: java swing jmenu

假设我有5个菜单(文件,编辑,视图,窗口和帮助),现在我想将help放在框架的右侧,并将其余部分保留在左侧,类似于此

+----------------------------------------------------------------------------+
| File | Edit | View | Window                                           Help |
+----------------------------------------------------------------------------+

摆动可能吗?含蓄菜单?或者一些黑客/诡计?


编辑/注:
help不应该是真正的Menu对象,它可以是任何可点击的对象(Jlabel,...)

1 个答案:

答案 0 :(得分:4)

您需要做的就是将水平胶水添加到您想要间隙的位置的JMenuBar。

menuBar.add(Box.createHorizontalGlue());

如,

import java.awt.Dimension;
import javax.swing.*;

public class MenuEg {

   private static void createAndShowGui() {
      JMenuBar menuBar = new JMenuBar();
      menuBar.add(new JMenu("File"));
      menuBar.add(new JMenu("Edit"));
      menuBar.add(new JMenu("View"));
      menuBar.add(new JMenu("Window"));

      menuBar.add(Box.createHorizontalGlue());
      menuBar.add(new JMenu("Help"));

      JFrame frame = new JFrame("MenuEg");
      frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
      frame.setJMenuBar(menuBar);
      frame.getContentPane().add(Box.createRigidArea(new Dimension(600, 400)));
      frame.pack();
      frame.setLocationByPlatform(true);
      frame.setVisible(true);
   }

   public static void main(String[] args) {
      SwingUtilities.invokeLater(new Runnable() {
         public void run() {
            createAndShowGui();
         }
      });
   }
}