简单地说,JMenu.setHorizontalAligment(SwingConstants.CENTER) 什么都不做,文本仍然是左对齐的(使用 Windows LAF)。
是否有任何方法可以对齐菜单标题中的文本(不是 JMenuItem - JMenu 本身)?
我正在使用JDK1.7。
我的 JMenuBar 及其 JMenu 目前看起来像:
尝试 setHorizontalTextPosition(SwingConstants.CENTER); 其次是无效();
如果我这样做,您是否尝试过设置Margin :JMenu
JMenu optionsMenu = new JMenu("Option");
optionsMenu.setMargin(new Insets(5, 50, 5, 5));
这是我得到的输出:
我习惯于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 属性,但为了简单起见,我从上面的代码示例中删除了这两种样式。希望这可以帮助。
这个答案或多或少是我在这里的原始答案的副本。