Tentando adicionar JButton em um JTabbedPane?

Salve galera…

Seguinte, Estou usando NetBeans e tenho um JTabbedPane onde estou tentando add um JButton para fechar a aba dos JPanels.

Andei dando uma pesquisada, encontrei varias coisas, mas ate agora nao consegui fazer funcionar.

links q encontrei.
http://download.oracle.com/javase/tutorial/uiswing/components/tabbedpane.html
www.javareference.com/jrexamples/viewexample.jsp?id=139

bem, estou tentando fazer assim.

//classe dos JPanels
public class DesktopArea extends JPanel {        
    private static int deskCount;
    
    public DesktopArea(){
        deskCount++;  
        this.setBackground(Color.BLACK);
        this.setCursor(Cursor.getPredefinedCursor(Cursor.CROSSHAIR_CURSOR));
    }
    
    public Integer getDeskCount(){
        return this.deskCount;
    }
}

//aqui meu JFrame onde tento add o JButton para fechar a Aba do JTabbed
public void addDeskArea(){
        DesktopArea deskArea = new DesktopArea();        
        JButton btnClose = new JButton("x");
        btnClose.setSize(16, 16);
        btnClose.setToolTipText(String.valueOf(deskArea.getDeskCount()));
        btnClose.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {                
                deskTabCenter.remove(deskTabCenter.getSelectedIndex());
            }
        });
        this.deskTabCenter.addTab("Project" + deskArea.getDeskCount(), deskArea);
        this.deskTabCenter.setComponentAt(this.deskTabCenter.getTabCount() -1, btnClose);
        
    }

Ainda nao consegui fazer isso funcionar com NetBeans…Consigo adicionar os JPanel com as abas, mas nao exibe o JButton para fechar

como resolver isso ??

obrigado

Salve galera…Depois de muito apanhar, consegui resolver o problema…Eh o seguinte, eu estava criando apenas um JPanel para fazer o que precisava, quando na verdade eu preciso de 2 JPanels, um para controlar as Abas do JTabbedPane e outro que sera a Tela propriamente dita com seus componentes.

aqui vai como eu fiz. Caso alguem precise disso. Ta ae.

//JPanel 1, JPanel que controla as Tabs do JTabbedPane
public class JPanel1 extends JPanel implements ActionListener{        
    private static int deskCount;
    private final JTabbedPane jtp;
    
    public JPanel1(final JTabbedPane jTP){     
        this.jtp = jTP;    
        deskCount++;                    
        JLabel label = new JLabel("Tab" + this.getDeskCount());
        JButton btnClose = new JButton("x");
        btnClose.setPreferredSize(new Dimension(40,15));
        btnClose.setToolTipText("Close this");
        btnClose.addActionListener(this);
        setOpaque(false);
        add(label);
        add(btnClose);
         
    }
    
    //metodo que remove abas do tabbed
    public void actionPerformed(ActionEvent e){
        int i = jtp.indexOfTabComponent(this);
        if (i != -1){
            jtp.remove(i);
        }
    }
    
    public Integer getDeskCount(){
        return this.deskCount;
    }
}

//JPanel 2, aqui meus componentes JText, JLabel, JButtons etc...etc..etc.
public class JPanel2 extends JPanel{    
    public Panel2(){
        this.setBackground(Color.BLACK);
        this.add(new JLabel("tela");
        
    }
    
}


//aqui como invoco tudo e consigo trabalhar tranquilamente com o que preciso, q era as abas do JTabbedPane com botoes de fechar(x)
public class PrincipalFrame extends JFrame{
      JTabbedPane jTP;
      public PrincipalFrame(){
            this.jTP = new JTabbedPane();
            this.getContentPane().add(this.jTP, BorderLayout.CENTER);
      }

      //aqui o metodo q invoco e crio tudo
      public void addJTP(){            
        JPanel1 panel1 = new JPanel1(jTP); 
        this.jTP.add(new JPanel2);                    
        int i = panel1.getDeskCount();        
        this.jTP.setTabComponentAt(i -1, panel1);
        this.jTP.setSelectedIndex(i -1);
    
      }
      
}

eh isso, esta funcionando como precisava…

t+