2012-08-28 6 views
7

다른 테두리가있는 JMenuBar의 테두리를 변경하려고합니다. 그 (예)처럼 :JMenuBar 테두리 변경

그러나 Image 2 http://img11.hostingpics.net/pics/900299Sanstitre2.png으로 Image 1 http://img11.hostingpics.net/pics/696780Sanstitre.png에서 나는 그것을 할 수있는 방법을 찾을 수 없습니다. 내가 원하는 것을 바꿀 수는있어.

[편집] 이미 시도 :

UIManager.put("Menu.border", BorderFactory.createLineBorder(Color.black, 1)); 
UIManager.put("MenuBar.border", BorderFactory.createLineBorder(Color.black, 1)); 
UIManager.put("MenuItem.border", BorderFactory.createLineBorder(Color.black, 1)); 

을하고 일을하지 않는 것 :(...

내가보고 시작하는 것

답변

11

마지막으로 나는 당신이 찾고있는 것을 eaxctly 찾았습니다. UIManager의 오른쪽 속성은 PopupMenu.border입니다.

import java.awt.Color; 
import javax.swing.*; 
import javax.swing.border.*; 

public class CustomPopupMenuBorder 
{ 
    public static void main(String[] args) 
    { 
     UIManager.put("PopupMenu.border", BorderFactory.createLineBorder(Color.black, 1));  
     JDialog myJDialog = new JDialog(); 
     myJDialog.setSize(450,300); 
     JMenuBar bar = new JMenuBar(); 
     JMenu menu = new JMenu("It's a me"); 
     JMenuItem item = new JMenuItem("JMenuItem 1"); 
     JMenuItem item2 = new JMenuItem("JMenuItem 2"); 
     menu.add(item); 
     JSeparator sep = new JSeparator();  
     menu.add(sep); 
     menu.add(item2); 
     bar.add(menu); 
     myJDialog.setJMenuBar(bar); 
     myJDialog.setVisible(true); 
    } 
} 
: 여기
UIManager.put("PopupMenu.border", BorderFactory.createLineBorder(Color.red, 4)); 

작은 예입니다 : 4 픽셀의 두께와 붉은 색 (단지 재미 예) 당신이 다음 줄을 필요로 전체 팝업 메뉴의 테두리를 변경하려면

내가 얻는 최선의 도움은 자바 응용 프로그램이다. UIManager Defaults

+0

고마워요 :) – user1534422

2

[/ 편집] javax.swing.border.Border classjavax.swing.JComponent을 확장하는 모든 스윙 클래스는 setBorder() method입니다.

강력하게 추천합니다. Java API documentation을 숙지하십시오. 이들은 자바로 프로그래밍 할 때 귀중한 도구입니다.

+0

나는 이미 java 문서를 양심적으로 검사했지만 조언을 해주셔서 감사한다.) 나는 스윙의 모든 구성 요소의 경계를 제거 할 것이라고 생각한다. 이 국경이 사라질 때까지. – user1534422