2014-09-08 7 views
0

이 주제에 관해 Google에서 많은 조사를했지만 올바른 해결책을 제시 할 수 없습니다. 나는 그림을 Graphics paintComponent와 함께 시험해 보았지만 모든 것이 잘 보였지만 줄은 단지 내 JPanel에 나타나지 않습니다. JLabels 내 코드의 일부는 생성 :JPLan에서 MigLayout을 사용하여 JLabel과 회선을 연결하는 방법은 무엇입니까?

frame = new JFrame(); 
     frame.setTitle("New family tree"); 
     ... 
       JPanel panel = new JPanel(); 
     panel.setBackground(new Color(30, 144, 255)); 
     frame.getContentPane().add(panel, BorderLayout.EAST); 
     panel.setLayout(new MigLayout("", "[]", "[][][][][][][][]")); 


    JButton newPersonButton = new JButton("New Person"); 
    panel.add(newPersonButton, "cell 0 5"); 

    tabbedPane = new JTabbedPane(JTabbedPane.TOP); 
    frame.getContentPane().add(tabbedPane, BorderLayout.CENTER); 

    scrollPane = new JScrollPane(); 
    tabbedPane.addTab("Tree", null, scrollPane, null); 

    panel_1 = new JPanel(); 
    scrollPane.setViewportView(panel_1); 
    panel_1.setLayout(new MigLayout("", 
      "[][][][][][][][][][][][][][][][][]", 
      "[][][][][][][][][][][][][][][][][][][][][]")); 

    final JLabel lblAddGreatgrandmother = new JLabel("Add Great-grandmother"); 
    panel_1.add(lblAddGreatgrandmother, "cell 3 4,growx"); 

    final JLabel lblAddGrandmother_1 = new JLabel("Add Grandmother"); 
    panel_1.add(lblAddGrandmother_1, "cell 2 5"); 

내가 그림을 사용해야합니까? 또는 배열 목록에 JLabels을 넣고 Point을 사용 하시겠습니까? 나는 어떤 도움을 appriciate거야.

편집 : Runnable를 예 - http://pastebin.com/NFug1QA1

+2

* "그림을 사용해야합니까? 아니면 배열 목록에 JLabels를 넣고 Point를 사용해야합니까?"* 둘 다 사용할 수도 있고 둘 중 하나를 사용하지 않을 수도 있습니다. –

+0

두 개의 레이블 및 J2SE 레이아웃으로 단순화 할 수 있다면 더 나은 도움을 위해 [MCVE] (http://stackoverflow.com/help/mcve) (최소, 완료, 검증 가능한 예제)를 게시하십시오. . –

+0

감사합니다. 최대한 빨리 알려 드리겠습니다. – Tinmar

답변

2

java-sl.com/connector 솔루션의 문제는 연결 자체가 컴포넌트 - 즉, 필요한 레이아웃이되는 것입니다 나는이 함께 해결책을 넣어 등의 이벤트를 받아 몇 년 전, 내 sourceforge project에서 찾을 수 있습니다. 자세한 내용은 ConnectionPanel 및 연결을 참조하십시오.

... 레이아웃 관리자가 null로 설정되고 구성 요소가 고정 위치로 제한되지 않을 때 내 경험에 의하면, 연결 유형이 가장 유용합니다. 그러나 당신은 당신의 사건에 가장 적합한 것이 무엇인지 알게 될 것입니다.

+0

나는'migLayout'을 사용하고 있습니다. 이제는'null'이 제 프로젝트에 훨씬 더 낫다는 것을 깨닫게되었습니다. 너무 바빠서 지금은 바꿀 수 없어요. 이제 선을 배치 할 수 있습니다. 올바른 위치에 고정시킬 수는 없습니다. 도와 줘서 고마워. ;) – Tinmar