Comportamento estranho do JTabbedPane

Problema com o JTabbedPane :

quando crio a aba no JTabbedPane eu seto o título dela tipo “Untitled” (Meu projeto é um editor de texto). então tenho um listener que me avisa de edições no documento. quando acontecem, o nome da tab é setado pra "" + nomeDocumento (pra saber que ele foi modidicado desde o último save). Tudo beleza. Problema aparece quando eu clico em outra tab (nome continua belezinha) aí eu volto a clicar na tab anteriormente citada. Aqui o nome da tab volta pra nomeDocumento, sem o '’. já tentei depurar enão tem nenhum código meu mudando o título da tab. o problema , pelo que eu consegui perceber, ocorre durante a execução do método setTitleAt(int index, String title), no JTabbedPane.

segue o método que troca o nome da aba:

public void setTitleStar(boolean b) { if (b) { if (!getTitleAt(getSelectedIndex()).startsWith("*")) { setTitleAt(getSelectedIndex(), "*" + getTitleAt(getSelectedIndex())); } } else if (getTitleAt(getSelectedIndex()).charAt(0) == '*') { setTitleAt(getSelectedIndex(), getTitleAt(getSelectedIndex()) .substring(1)); } }

a chamada setTitleStarAt(false) só ocorre 2 vezes no código inteiro, e são os métodos de save. A única solução que achei foi toda vez que o usuário trocar de tab, chamar setTitleStar(true). (Acho que isso é uma gambiarra :slight_smile:
Alguém arrisca um palpite sobre o problema?

Ainda, aproveitando que tamoo falando dele, alguém sabe se tem alguma maneira, não muito difícil, de se pegar eventos gerados pelas abas do JTabbedPane? Pelo que eu entendi ele encapsula toda lógica das tabs (Uma classe Page interna na JTabbedPane.java), assim como uma LinkedList encapsula os Nodes. Eu gostaria de identificar cliques que saão feitos em cima das abas e cliques que são feitos na área em branco do JTabbedPane (pra fazer menus de contexto).

Outra dúvida no mesmo caminho é setar a fonte (estilo) de cada tab. O fato de eu colocar o ‘*’ é uma alternativa a tornar o título negrito. Só que não tenho como setar a fonte usada em cada tab individualmente. Seria uma grande ajuda se desse pra trabalhar com as tabs separadamente.

?