나는 탭 패널의 인스턴스를 만들 때와 같은 위치 설정 것을 알고 :탭 패널의 위치를 이동하는 방법
jtp = new JTabbedPane(SwingConstants.LEFT)
내 질문에 그 왼쪽으로 위치를 설정할 수는 있습니다입니다 위와 같이 시작 위치를 약간 아래쪽으로 이동하려면? 첫 번째 탭이 왼쪽 맨 위에 표시되는 것을 원하지 않습니다. 나는 빈 공간을 남기고 싶다. 그게 가능하니? 감사.
나는 탭 패널의 인스턴스를 만들 때와 같은 위치 설정 것을 알고 :탭 패널의 위치를 이동하는 방법
jtp = new JTabbedPane(SwingConstants.LEFT)
내 질문에 그 왼쪽으로 위치를 설정할 수는 있습니다입니다 위와 같이 시작 위치를 약간 아래쪽으로 이동하려면? 첫 번째 탭이 왼쪽 맨 위에 표시되는 것을 원하지 않습니다. 나는 빈 공간을 남기고 싶다. 그게 가능하니? 감사.
나는 이러한 문제에 대한 해결을 찾을 수 있었다. 기본적으로 탭이있는 창의 배경색과 같은 색의 사각형 인 "더미"아이콘을 만들어이 작업을 수행했습니다. 나는 내가 창 돈 때문에 원하는대로 첫 번째 탭의 창은 많은 공간을 차지 할 수있는 아이콘 크기를 조정하여
jtp.addTab("", dummyIcon, null);
jtp.setEnabledAt(0, false);
: 나는 다음이 "더미"에 대한 아이콘으로 아이콘을 탭 구획 및 장애인 탭을 설정 같은 크기 여야합니다. 이렇게하면 첫 번째 탭을 클릭 할 수 없으며 패널의 배경색과 비슷한 색상을 가지므로 공간이 비어있는 것처럼 보입니다.
당신은 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;
}
이 방법은 효과가 있지만 탭 패널에 추가 된 전체 창을 이동하기 때문에 효과는 여전히 창의 상단과 첫 번째 레이블이 정렬되어 있습니다. 탭 구분 된 칸 (레이블) 만 이동하려고합니다. 그렇게 할 수있는 방법이 있습니까? – user3245747
내 대답이 수정되었습니다. 새로운 것을 시도하십시오. –
이것은 내가 원하는 것과 반대입니다. 탭 레이블을 이동하지 않고 패널 자체를 이동시켜 레이블이 패널보다 높게 끝납니다. 나는 다른 방향으로 그것을 필요로한다. 이걸로 너희 둘에게 미안해! – user3245747