0

JTabbedPane (JScrollPane 포함)과 Windows의 모양과 느낌을 사용하여 스윙 프로그램을 작성하고 있습니다. JTabbedPane이 Windows L & F로 렌더링 할 때, 왼쪽에 2 픽셀의 흰색 선과 Component의 아래쪽에 1 픽셀의 흰색 선을 배치합니다 (첨부 된 이미지 참조).Windows L & F의 JTabbedPane 경계가없는 벽

제거 방법이 있습니까? 테두리를 추가 (또는 제거)하는 것은 선의 바깥쪽에 만 테두리를 추가합니다. 이 특정 구성 요소에 대해 내 자신의 UI를 작성하는 방법을 살펴 보았지만 정확히 어디에서 시작해야하는지 모르겠습니다. Windows L & F 클래스를 사용하는 방법은 말할 것도 없습니다. UIManager를 사용하여 오프셋을 0으로 설정할 수 있지만 기본 테두리를 잘라냅니다. 내 자신의 이론은 Windows 7에서 렌더링되지 않는 일종의 감가 상각 된 베벨 효과를 중심으로 전개됩니다. 다른 아이디어가 있습니까?

답변

1

이보고 신뢰할 수있는 느낌입니다. UIManager 값을 TabbedPane.contentBorderInsets으로 수정하십시오. 예를 들어

:

UIManager.getDefaults().put("TabbedPane.contentBorderInsets", new Insets(1,1,1,1)); 

UIManager Defaults (@camickr으로) 다른 속성과 디폴트를 참조하십시오.

편집 : 나는 TabbedPane.tabAreaInsets와 맨 윗줄 취소 관리

: 전에이 시도

UIManager.getDefaults().put("TabbedPane.contentBorderInsets", new Insets(0,0,0,0)); 
UIManager.getDefaults().put("TabbedPane.tabAreaInsets", new Insets(0,0,0,0)); 

enter image description here

+0

을; 스크롤 막대는 오른쪽 테두리를 덮고, 아래쪽 테두리는 Component의 맨 아래로 사라지고 흰색 선은 여전히 ​​있습니다. – MobiusOne

+0

[link] (https://dl.dropboxusercontent.com/u/33802166/jtp-issue2.jpg) – MobiusOne

+0

@MobiusOne 'TabbedPane.tabAreaInsets'에 대한 편집을 참조하십시오. – tenorsax