mac下JMenuBar背景透明失效

暗之幻影 发布于 2015/05/17 08:42
阅读 332
收藏 0

@003 你好,想跟您请教个问题:在mac下

JMenuBar bar = new JMenuBar();
bar.setOpaque(false);



设置菜单栏背景透明失效,效果如下

不知有啥解决办法

加载中
0
暗之幻影
暗之幻影
JMenuBar bar = new JMenuBar();
bar.setOpaque(false);
bar.setUI(new BasicMenuBarUI() {
	@Override
	protected void installDefaults() {
		if (menuBar.getLayout() == null ||
		    menuBar.getLayout() instanceof UIResource) {
		    menuBar.setLayout(new DefaultMenuLayout(menuBar,BoxLayout.LINE_AXIS));
		}
		// 解决Mac OS下不透明失效的bug 
		LookAndFeel.installProperty(menuBar, "opaque", Boolean.FALSE);
		LookAndFeel.installBorder(menuBar,"MenuBar.border");
		LookAndFeel.installColorsAndFont(menuBar,
		                                              "MenuBar.background",
		                                              "MenuBar.foreground",
		                                              "MenuBar.font");
	}
});



返回顶部
顶部