2014-04-17 4 views
0

나는 탭 패널의 인스턴스를 만들 때와 같은 위치 설정 것을 알고 :탭 패널의 위치를 ​​이동하는 방법

jtp = new JTabbedPane(SwingConstants.LEFT) 

내 질문에 그 왼쪽으로 위치를 설정할 수는 있습니다입니다 위와 같이 시작 위치를 약간 아래쪽으로 이동하려면? 첫 번째 탭이 왼쪽 맨 위에 표시되는 것을 원하지 않습니다. 나는 빈 공간을 남기고 싶다. 그게 가능하니? 감사.

답변

0

나는 이러한 문제에 대한 해결을 찾을 수 있었다. 기본적으로 탭이있는 창의 배경색과 같은 색의 사각형 인 "더미"아이콘을 만들어이 작업을 수행했습니다. 나는 내가 창 돈 때문에 원하는대로 첫 번째 탭의 창은 많은 공간을 차지 할 수있는 아이콘 크기를 조정하여

jtp.addTab("", dummyIcon, null); 
jtp.setEnabledAt(0, false); 

: 나는 다음이 "더미"에 대한 아이콘으로 아이콘을 탭 구획 및 장애인 탭을 설정 같은 크기 여야합니다. 이렇게하면 첫 번째 탭을 클릭 할 수 없으며 패널의 배경색과 비슷한 색상을 가지므로 공간이 비어있는 것처럼 보입니다.

1

당신은 javax.swing.Box 추가 이동을에 구성 요소를 포장 할 수 있습니다

jtp.add("Component shifted vertically", shiftVertical(your_component, 5)); // 5 px or more 

public static Box shiftVertical(JComponent component, int size){ 
    Box vBox = Box.createVerticalBox(); 
    vBox.add(Box.createVerticalStrut(size)); 
    vBox.add(component); 

    return vBox; 
} 
+0

이 방법은 효과가 있지만 탭 패널에 추가 된 전체 창을 이동하기 때문에 효과는 여전히 창의 상단과 첫 번째 레이블이 정렬되어 있습니다. 탭 구분 된 칸 (레이블) 만 이동하려고합니다. 그렇게 할 수있는 방법이 있습니까? – user3245747

+0

내 대답이 수정되었습니다. 새로운 것을 시도하십시오. –

+0

이것은 내가 원하는 것과 반대입니다. 탭 레이블을 이동하지 않고 패널 자체를 이동시켜 레이블이 패널보다 높게 끝납니다. 나는 다른 방향으로 그것을 필요로한다. 이걸로 너희 둘에게 미안해! – user3245747

관련 문제