2011-03-03 1 views
5

JtabbedPane과 JFrame 내용 창 사이 및 JTabbedPane과 내부 JPanel 사이의 여백을 제거하는 방법을 알고 싶습니다. 내가 제거하고 싶은 여백을 돌았습니다. 녹색 선은 jtabbedpane 내부의 jpanel 사이의 간격을 나타냅니다.Java : JTabbedPane에서 여백/패딩 제거

setMargin이라는 이름의 메소드를 보려고했지만 JTabbedPane에 존재하지 않습니다. 또한 다른 레이아웃 (루트 내용 창, 내 jpanel 등)에서 HgapVgap (모두 = 0)을 확인했습니다.

모든 제안을 환영합니다. 감사합니다. .

The image is here. 아직 이미지를 게시 할 수 없습니다.

+0

하는 데 도움이? 가지고 계시다면 링크를 보내 주시면 귀하의 CSS 문제를 해결할 수 있습니다. – bluefoot

+0

JAVA ...그리고 거기에 링크가 – florian

답변

7

탭 패널 내부의 구성 요소 주위의 공간을 결정하는 모양과 느낌은 일반적으로 바탕 화면의 기본값에 따라 다릅니다. JTabbedPane에는 내부 구성 요소 주위에 인세 트를 설정하는 메소드가 없습니다. 모든 탭 창에 대한 세계적

당신 설정이 (주의 : MetalLookAndFeel의에서 작동, 아마 윈도우 L & F에 대한 일뿐만 아니라, 아마도 는 GTK 또는 후광 룩하지 작업과는 느낄 것이다 BasicLookAndFeel을 기반으로하지 않음). 이는 VM에 모든 탭 패널의 모양을 변경합니다 :

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

당신은 아마 또한 JTabbedPane에이 EmptyBorder (0,0,0,0)를 가지고 있는지 확인 등 구성 요소가 당신이 넣고 싶은 그 안에.

이 대상 바탕 화면에 작동하지 않는 경우, 대안은 기본 응용 프로그램 창을 탭에서 탭 창에 대한

  • 당신은 상관하지 않는 경우 다른 찾고있는의 (불쾌한) 대안이 작성하는 것입니다 자신의 TabbedPaneUI의
  • 는 MetalTabbedPaneUI 또는 이러한 속성에 응답을한다는 것을 다른 UI 위양에 다음과 같이 할 단일 JTabbedPane에 대한 UI 위양을 설정
+0

감사합니다. 당신의 솔루션은 내가 최고의 공백을 제거하는 데 도움이됩니다. – florian

1

UI 요소에 테두리를 설정하여 여백을 추가합니다. JTabbedPane 국경의 설정을 살펴보십시오.

+0

당신의 대답을 주셔서 감사합니다, 나는 "오른쪽"과 "하단"속성에 대한 부정적인 가치를 넣어 경계를 제거 할 수 있습니다. 나는 이것을하는 것이 약간 이상하다고 생각한다. – florian

4

난 그냥 같은 문제를 강타하고 아무것도 다른 사람이 완벽한 솔루션이 될 듯했다, 그래서 나는이 함께했다 :

그것은 그러나 그렇게 아마 일의 paintContentBorder 메서드를 재정없이 동일하게 작동
import javax.swing.plaf.basic.BasicTabbedPaneUI; 

    tabbedPane.setUI(new BasicTabbedPaneUI() { 
     private final Insets borderInsets = new Insets(0, 0, 0, 0); 
     @Override 
     protected void paintContentBorder(Graphics g, int tabPlacement, int selectedIndex) { 
     } 
     @Override 
     protected Insets getContentBorderInsets(int tabPlacement) { 
      return borderInsets; 
     } 
    }); 

가한다 UI는 크기 조정이나 비슷한 과정에서 약간 더 효율적입니다. 표준적인 방법은 여러 가지 다른 방법으로 위임하는 것처럼 보입니다. 자바 7 U07과 WindowMaker의 맥 자바 6 u37와 맥 OS X 10.6.7 및 Windows 7에서 리눅스 용 오라클 자바 6 U43에서 테스트

, 희망이 누군가 :-) 당신이 살아있는 예를

+0

테두리를 제거하는 동안 작동하지만 실제 탭의 UI도 변경됩니다. –