2010-08-10 71 views
0

我一直在使用UIManager更改我的GUI上的着色方案。比如我用这个JMenuItemsJMenu和JMenuItems具有我无法更改的薄橙色边框

UIManager.put("MenuItem.foreground", new ColorUIResource(255, 255, 255)); 
UIManager.put("MenuItem.background", new ColorUIResource(51, 51, 51)); 
UIManager.put("MenuItem.selectionBackground", new ColorUIResource(232, 232, 232)); 

对于一些未知的原因,1个像素橙色边框周围出现我JMenuItemsJMenus。我不明白为什么我检查了http://www.devdaily.com/java/java-uimanager-color-keys-list的所有钥匙。有谁知道如何改变边界JMenuItemsJMenus的颜色?如果UIManager无法完成,那么对于解决方案来说也不错。

+0

如果你尝试一个简单的Swing JFrame一个菜单,没有别的,你还能得到它吗?我正试图在你的机器上或在代码中?它发生在不同的机器上吗(如果可能的话,不同的硬件)? – 2010-08-10 14:28:54

+0

换句话说,发布SSCCE(http://sscce.org),以便我们可以看到问题是代码,LAF,Java版本还是操作系统。 – camickr 2010-08-10 15:11:41

+0

使用Ubuntu 9.04,Java 1.6,默认LAF。 一个SSCCE会很艰难,因为我正在建立在其他东西之上,而上面那些UIManager系列总结了我所做的一切。出于某种原因,在我做任何事之前,橙色是一种选择颜色。如果这不是默认的LAF的分开,那么隐藏的东西会导致橙色选择边框。应该有一种方法来覆盖或设置这种边界颜色的权利? – user372304 2010-08-10 15:55:05

回答

0

好吧,我挖了一会儿,没有找到一个好的答案,以便我做了什么, jmnenu.getpopupmenu()。setborder(border); //选择一个边框,你可以选择它的颜色或它的尺寸,这是我可以用一个简单的解决方案来最好的 希望它可以帮助如果不是你为别人

+1

忘了添加(lol)重要信息'消除边框创建此边框 jmenu.getPopupMenu()。setBorder(BorderFactory.createLineBorder(Color.BLACK,0)); // jmenu是JMenu类型而不是JMenuBar – Sibling 2011-01-17 02:18:53