[Resolvido]problemas com JTabbedPane

1 resposta
FabioNoth

Eae rapaziada,
Estou com problemas complicados de explicar com o JTabbedPane. Porém vou tentar deixar o mais claro possível por aqui;

Estou trabalhando em uma ferramenta que possui vários TabbedPane.
Cada Tab vai um desenho que eu tenho que adicionar Atravéz de um menu.

O meu problema é o seguinte, não estou conseguindo adicionar o desenho na tab correta.
Sempre quando adiciono o desenho (mesmo que função) ele adiciona na ultima tab. Alguém por ai poderia me dar uma ajuda?

obs. O método para adicionar um desenho é editTab.

public class TabbedPane extends JTabbedPane {
	private static final long serialVersionUID = 1L;
	JPanel pane = new JPanel();
	Desenha desenha;
	int index;

	public TabbedPane() {
		super();
		this.setVisible(false);
	}
	

	public void addTab() {
		int i = this.getTabCount() + 1;
		desenha = new Desenha();
		desenha.setBackground(Color.white);
		this.addTab("Gráfico " + i, desenha);
		index = this.getTabCount() - 1;
		this.setTabComponentAt(index, new PainelBotaoFechar(this));
		this.setSelectedIndex(index);
		this.setVisible(true);
		
	}
	public void editTab() {
		double[] funcao = getFuncPane();
		desenha.setFun(funcao);
		this.repaint();
	}

// Mais código a baixo
}

Desde já agradeço a atenção e compreensão de todos.

1 Resposta

FabioNoth

Rapaziada,
devo agradecer ao @thiagolenz em especial que me ajudou a resolver este problema

public void addTab() {
		int i = this.getTabCount() + 1;
		desenha = new Desenha();
		desenha.setBackground(Color.white);
		this.addTab("Gráfico " + i, desenha);
		index = this.getTabCount() - 1;
		PainelBotaoFechar pbf = new PainelBotaoFechar(this);
		pbf.setDesenha(desenha);
		this.setTabComponentAt(index, pbf);
		this.setSelectedIndex(index);
		this.setVisible(true);
	}

	public void editTab() {
		double[] funcao = getFuncPane();
		index = this.getSelectedIndex();
		((PainelBotaoFechar) getTabComponentAt(index)).getDesenha().setFun(
				funcao);
		this.repaint();
	}
Criado 29 de outubro de 2011
Ultima resposta 29 de out. de 2011
Respostas 1
Participantes 1