如何在菜单栏中右对齐一个菜单(使用 Java)?


假设我们向 MenuBar 添加了一个菜单 −

JMenuBar menuBar = new JMenuBar();
JMenu fileMenu = new JMenu("File");
fileMenu.setMnemonic(KeyEvent.VK_F);
menuBar.add(fileMenu);

在菜单之间添加一个 glue 构件,将其中一些菜单右对齐,例如 −

menuBar.add(Box.createHorizontalGlue());

在使用上述方法后添加的菜单将会右对齐 −

JMenu sourceMenu = new JMenu("Source");
sourceMenu.setMnemonic(KeyEvent.VK_S);
menuBar.add(sourceMenu);

下面提供了一个使用 Java 在菜单栏中右对齐菜单的示例 −

示例

package my;
import java.awt.event.KeyEvent;
import javax.swing.Box;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
public class SwingDemo {
   public static void main(final String args[]) {
      JFrame frame = new JFrame("MenuBar Demo");
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      JMenuBar menuBar = new JMenuBar();
      JMenu fileMenu = new JMenu("File");
      fileMenu.setMnemonic(KeyEvent.VK_F);
      menuBar.add(fileMenu);
      JMenuItem menuItem1 = new JMenuItem("New", KeyEvent.VK_N);
      fileMenu.add(menuItem1);
      JMenuItem menuItem2 = new JMenuItem("Open File", KeyEvent.VK_O);
      fileMenu.add(menuItem2);
      JMenu editMenu = new JMenu("Edit"); editMenu.setMnemonic(KeyEvent.VK_E); menuBar.add(editMenu);
      JMenuItem menuItem3 = new JMenuItem("Cut", KeyEvent.VK_C); editMenu.add(menuItem3);
      menuBar.add(Box.createHorizontalGlue());
      JMenu sourceMenu = new JMenu("Source");
      sourceMenu.setMnemonic(KeyEvent.VK_S);
      menuBar.add(sourceMenu);
      JMenu refactorMenu = new JMenu("Refactor");
      refactorMenu.setMnemonic(KeyEvent.VK_R);
      menuBar.add(refactorMenu);
      JMenu navigateMenu = new JMenu("Navigate");
      navigateMenu.setMnemonic(KeyEvent.VK_A);
      menuBar.add(navigateMenu);
      menuBar.revalidate();
      frame.setJMenuBar(menuBar);
      frame.setSize(550, 350);
      frame.setVisible(true);
   }
}

输出


更新日期:30-Jul-2019

851 次观看

开启你的 职业生涯

通过完成课程获得认证

开始
广告