4

简单地说,JMenu.setHorizo​​ntalAligment(SwingConstants.CENTER) 什么都不做,文本仍然是左对齐的(使用 Windows LAF)。

是否有任何方法可以对齐菜单标题中的文本(不是 JMenuItem - JMenu 本身)?

我正在使用JDK1.7。

我的 JMenuBar 及其 JMenu 目前看起来像:

当前的 JMenuBar 和 JMenus(和单个 JMenuItem

4

3 回答 3

1

尝试 setHorizo​​ntalTextPosition(SwingConstants.CENTER); 其次是无效();

于 2012-07-29T20:39:40.673 回答
1

如果我这样做,您是否尝试过设置Margin :JMenu

JMenu optionsMenu = new JMenu("Option");
optionsMenu.setMargin(new Insets(5, 50, 5, 5));

这是我得到的输出:

保证金输出

信使图片

于 2012-07-30T05:12:28.297 回答
1

我习惯于CSS在菜单中定位和设置文本样式。style="text-align:center;"用于CSS将文本定位在底部示例图像的中心。就我而言,我将JMenu标题封装在<p>段落标签中;

clientFilter = new JMenu("<html><p style='text-align:center;'>Client</p></html>");
siteFilter = new JMenu("<html><p style='text-align:center;'>Site</p></html>");
employeeFilter = new JMenu("<html><p style='text-align:center;'>Employee</p></html>");
jobtypeFilter = new JMenu("<html><p style='text-align:center;'>Job Type</p></html>");

看起来像这样;

在此处输入图像描述

值得注意的是,在上图中我也使用width:90px;color:blue;了 style 属性,但为了简单起见,我从上面的代码示例中删除了这两种样式。希望这可以帮助。

这个答案或多或少是我在这里的原始答案的副本。

于 2014-03-06T09:32:20.703 回答