JTabbedPane como o do Firefox, Netbeans

Galera,

Parece simples, mas por incrivel que pareça, nao encontrei um exemplo e nem consegui alterar os exemplos que achei.
Preciso de um JTabbedPane como o do Firefox ou do Netbeans, ou seja, com um Icone, um Título e um botão de fechar. Vi vários exemplos, uns com o botão de fechar do lado esquerdo, outros com o botão de fechar do lado direito, mas sem o ícone da aba, enfim, não consegui alterar nenhum de forma que ficassem como eu preciso.
Alguém já conseguiu fazer uma aba como essa? Consegui, usando um look and feel muito manero (substance), porem não poderei usá-lo. E se eles conseguiram, com certeza tem jeito, certo?

Entao… a partir do java 6, o JTabbedPane aceita componentes, assim como um JPanel.
Então você pode “montar” o layout da sua aba do jeito que quiser…

O método que você vai usar, se nao me engano, é o setTabComponentAt:

http://java.sun.com/javase/6/docs/api/javax/swing/JTabbedPane.html#setTabComponentAt(int,%20java.awt.Component)

[quote] Entao… a partir do java 6, o JTabbedPane aceita componentes, assim como um JPanel.
Então você pode “montar” o layout da sua aba do jeito que quiser…

O método que você vai usar, se nao me engano, é o setTabComponentAt:

http://java.sun.com/javase/6/docs/api/javax/swing/...tAt(int,%20java.awt.Component)[/quote]

Então, tinha tentado tbem usar este método, mas não tá surtindo efeito. E estou usando o java 6. Meu código tá assim:

private void montaAbaTodosRamais()
    {
        // Aba de contendo todos os ramais
        todosRamaisPanelForm = new TodosRamaisPanelForm();        
        jTabbedPane.addTab(tituloAba, iconeTodosRamais, todosRamaisPanelForm, toolTipText);
        jTabbedPane.setTabComponentAt(jTabbedPane.getTabCount()+1, new JLabel("Teste"));
        
    }

Bom dia,

Fiz um exemplo bem simples aqui pra tentar te ajudar:

import javax.swing.*;

public class TestTabledPane extends JFrame{

	private JTabbedPane tPane;
	
    public TestTabledPane() {
    	
    	tPane = new JTabbedPane();
    	
    	tPane.add("#Aba1", panel());
    	tPane.add("#Aba2", panel2());
    	
    	this.add(tPane);
    	this.setVisible(true);
    	
    }
    
    
    public JPanel panel(){
    	
    	JPanel jp = new JPanel();
    	
    	jp.add(new JLabel("Campo1"));
    	jp.add(new JTextField(20));
    	
    	return jp;
    }
    
    public JPanel panel2(){
    	
    	JPanel jp = new JPanel();
    	jp.add(new JLabel("Campo2"));
    	jp.add(new JTextField(20));
    	
    	return jp;
    }
    
    
}

Abraço!

Caro Marck,

Desculpe, mas em que seu exemplo pode me ajudar. Eu já tenho as abas com um ícone, título, queria apenas acrescentar nela um close button no lado direito, depois do título. Como disse acima, só não encontrei exemplos assim, e os que eu tentei alterar não deram certo.

Mas valeu pela iniciativa!

Foi mal cara…falta de atenção.

http://java.sun.com/docs/books/tutorial/uiswing/components/tabbedpane.html

abraço!

Tranquilo! O javadoc foi o primeiro que vi, e naquele exemplo dele tbem não para fazer do jeito que quero.