2010-08-10 1 views
0

UIManager을 사용하여 GUI에서 색 구성표를 변경했습니다. 예를 들어 내가 JMenuItems이 사용JMenu 및 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을 메뉴와 다른 것, 당신은 여전히 ​​그것을 얻습니까? 나는 당신의 컴퓨터 또는 코드에서 그것을 얻으려고 노력하고 있습니까? 다른 컴퓨터에서 발생합니까 (가능한 경우 다른 하드웨어)? –

+0

즉, 문제가 코드, LAF, Java 버전 또는 OS인지 확인할 수 있도록 SSCCE (http://sscce.org)를 게시하십시오. – camickr

+0

Ubuntu 9.04, Java 1.6, 기본 LAF 사용. SSCCE는 힘들 것입니다. 왜냐하면 제가 다른 모든 것들과 UIManager 라인 위에 구축했기 때문에 제가 한 모든 것을 요약했습니다. 어떤 이유로 오렌지는 내가 무엇을하기 전에 선택 색상입니다. 이것이 기본 LAF와 별개가 아니라면 숨겨진 무언가가 오렌지 선택 테두리를 유발하는 것입니다. 이 테두리 색상을 올바르게 재정의하거나 설정하는 방법이 있어야합니까? – user372304

답변

0

글쎄 나는 잠시 동안 파고 들었다. 그래서 내가 한 일을 잘 찾지 못했다. jmnenu.getpopupmenu(). setborder (border); // 당신이 선택할 수있는 테두리를 선택할 수있는 색상이나 그것의 크기가 가장 쉬운 해결책으로 제공 될 수 있습니다. 다른 사람이 아니라면 도움이 되길 바랍니다.

+1

국경을 제거하기 위해 중요한 정보를 추가하는 것을 잊어 버렸습니다.이 경계를 만듭니다. jmenu.getPopupMenu(). setBorder (BorderFactory.createLineBorder (Color.BLACK, 0)); // jmenu는 JMenuBar 타입이 아닌 JMenu 타입입니다. – Sibling

관련 문제