2013-12-15 2 views
2

텍스트가 가로 (세로 대신) 인 왼쪽에 탭이있는 OSX에서 Java 7에서 JTabbedPane을 만들려고합니다. 그러나 코드 : 나는 탭 텍스트 (탭의 '테스트'제목 수평 싶습니다 this image강제로 가로 탭 텍스트 왼쪽 맞춤 JTabbedPane

:

import javax.swing.*; 
import java.awt.Dimension; 


class Probs extends JDialog { 
    JTabbedPane options = new JTabbedPane(); 
    Probs(JFrame owner) { 
     //main constructor 
     super(owner, "User Preferences", true); 
     //set the tabs to be left aligned 
     options.setTabPlacement(JTabbedPane.LEFT); 

     //construct the authorization panel 
     JPanel authorization = new JPanel(); 
     authorization.add(new JLabel("test")); 
     options.addTab("test", authorization); 

     add(options); 
     setSize(new Dimension(300,300)); //should use pack here 
     setResizable(false); 
     setLocationRelativeTo(null); 
     setVisible(true);   
    } 

    public static void main(String[] args) { 
     JFrame test = new JFrame(); 
     new Probs(test); 
     test.dispose(); 
    } 
} 

난과 같은 대화 상자를 얻을 수 수직 대신에 수평으로 향하게한다).

Google에서 잠시 동안 검색 한 결과 사람들이 탭에서 세로 텍스트를 얻고 싶었지만 사람들이 가로 텍스트를 원했던 항목을 찾을 수 없었습니다. 이루다).

특히, this 질문의 첫 번째 게시물에서 언급 한 이미지와 정확히 일치하는 것을 얻으려고합니다. 그것은 기본적으로 그 질문의 정반대입니다. 왜냐하면 그 탭에있는 사람이 제가 성취하려고하는 것으로 시작했기 때문입니다 (나는 믿습니다). 기본적으로, 그 질문의 첫 번째 게시물에 표시되는 이미지를 만드는 방법을 결정하려고합니다.

누군가 가로형 탭 제목을 유지하면서 세로 형 태를 유지하면서 왼쪽 방향 탭을 갖는 방법을 알려주시겠습니까?

시간과 협조에 감사드립니다.

JPanel authorization = new JPanel(); 
    authorization.add(new JLabel("test")); 
    options.addTab("", authorization); 
    JLabel labTab2 = new JLabel("test"); // create a label 
    options.setTabComponentAt(0, labTab2); // set it to the component 
+0

1) 빨리 더 나은 도움말을 (섹션 : Java 용 사용자 인터페이스 툴킷)

나는 수치를 제시 , [SSCCE] (http://sscce.org/)를 게시하십시오. 2)'pack()'에 대한 호출은 항상 가치가있다. ** setSize (..) 대신 ** 사용 ** .. –

+0

@AndrewThompson, 나를 위해 이미지를 게시 해 주셔서 감사합니다. SSCCE를 올렸습니다. (올바르게) 희망합니다. – cryptopi

+0

잠자리에 들기 직전이지만 나는 일어나기 전에 어떤 종류의 영혼이 당신을 위해 이것을 분류했는지 (정말로 희망을) 의심한다. 좋은 SSCCE BTW! –

답변

1

다시 말하지만,이 제안을보십시오. 탭 텍스트의 정렬을 변경하려면 스윙 응용 프로그램의 모양과 느낌을 변경해야합니다. 이것은 나를 위해 일했다. here을 참조하십시오.

+0

아이디어를 주셔서 감사합니다. 그러나 시도해 보았습니다. 결과는 거기에서 찾을 수 있습니다. http : // i .imgur.com/Rw3JFiW.png. 즉, 원하는 텍스트의 효과가 수평 인 것처럼 보였지만 탭이 충분히 넓어서 텍스트를 모두 표시 할 수 없었습니다. 어떤 생각을 어떻게 고쳐야합니까? – cryptopi

1

정렬이 운영 체제에 의해 결정된다 : 나는 문제를 복제 할 수 있기 때문에

0

MacOSX의 시스템 모양과 느낌이 JTabbedPane에서 원하는 것을 지원하지 않았습니다. @MonkeySupersonic에 의해 이전에 언급 한 것처럼,이를 수행하거나 애플리케이션을 크로스 플랫폼 (자바 메탈)으로 설정하기 위해 커스터마이즈 된 JComponent를 생성해야한다.