2011-10-17 7 views
0

내가 재미있는 일을 겪은 제어 ... 모든 널 내가는 JTabbedPane에 - 동적 탭

public class TPane extends JTabbedPane 
{ 

public TPane(ImageIcon iconA,ImageIcon iconB) 
{ 
    this.addTab("A",iconA,null); 
    this.addTab("B",iconB,null); 

} 

} 

로 생성자에 탭을 추가하지만 개체와 잘 간다 나는 다른 개체 내에서 탭을 추가 할 때 같은

public class AClass 
{ 

public void addNewTab(TPane tp, ImageIcon icon) 
{ 

    tp.addTab("C",icon,null);//<-- contains null 
} 

} 

... 그것은 탭 인해 를 추가하지 않습니다.
public class BClass extends JPanel 
{ 


    private AClass a=new AClass(); 
    private TPane tp=new TPane(); 
    JButton addTabButton=new JButton("add tab"); 
    ImageIcon icon; 

    public BClass(Image image) 
{ 

icon=new ImageIcon(image); 
... 
this.add(tp); 
... 
addTabButton.addMouseListener(new MouseAdapter() 
{ 

    public void mousePressed(MouseEvent e) 
{ 

    a.addNewTab(tp,icon); 

} 

}); 

} 
} 

그래서 제 질문은 널 (null)을 추가하는 방법입니다 ... 여기에 S

모두 이전 객체 사용법은 : 나는 을 변경하면 OK에 코드가 잘 작동하는 새로운 JLabel의()를 말할 수 JTabbedPane 에의 오브젝트의 동적 배치

유용한 의견을 보내주십시오.

+1

가 왜 처음에 JTabbedPane에 null로 추가 할 것인가? 탭에 아무 것도 표시하지 않으려면 빈 JPanel을 추가하기 만하면됩니다. –

+3

왜 그것을 확장합니까? 귀하가 설명하는 문제를 보여주는 [sscce] (http://sscce.org/)를 제공해주십시오. – trashgod

+0

그냥 JTabbedPane의 탭을 사용하고 싶기 때문에. 탭 팔레트로 – user592704

답변

3

잘 모르겠습니다. (이것은 병적 인 예이지만) 내가 성공적으로 시도, 아래의 예와 그 코드를 참조하십시오

enter image description here

package so; 

import javax.swing.ImageIcon; 
import javax.swing.JFrame; 
import javax.swing.JTabbedPane; 
import javax.swing.SwingUtilities; 

public class JTabbedEx extends JTabbedPane { 

    public static void main(String[] args) { 
     SwingUtilities.invokeLater(new Runnable() { 
      public void run() { 
       ImageIcon icon = new ImageIcon(); 
       JTabbedPane tabs = new JTabbedPane(); 
       tabs.addTab("Tab1", icon,null); 
       new AnotherClass().addTab(tabs, icon); 
       JFrame frame = new JFrame(); 
       frame.add(tabs); 
       frame.pack(); 
       frame.setVisible(true); 
      } 
     });   
    } 
} 

class AnotherClass { 
    public void addTab(JTabbedPane tabs, ImageIcon icon) { 
     tabs.addTab("Another tab", icon, null); 
    } 
} 
+0

(끔찍한 null 아이콘) screenshot +1 – mKorbel

+0

감사합니다 :)하지만 무엇이 그럴 수 있습니까? JDK 1.6을 사용합니다 – user592704

+0

[SSCCE] (sscce.org)를 추가하십시오. 문제를 발견하는 데 도움이 될 것입니다. – MByD