Forum Clubic

[Java] Rafraîchir un tab

Bonjour,

Je suis en train de coder une appli Java basée sur une JFrame.
Cette JFrame possède un JTabbedPane avec donc plusieurs tabs (qui sont en fait des JPanel).

Voilà comment je procède :


for(int i=0; i<tailleMax; i++) {
  tabbedPanel.add(createNewTab(var));
}
...
private Component createNewTab(Var var) {  
  JPanel toto = new MonJPanel();
setName("<html?gt;<center><b>Hello</b><br><font size=2>(Hello")</font></center></html?gt;");
  return toto;
}

Quand je lance l’appli, les tabs s’affichent correctement. Mais, quand au cours de l’exécution, je veux changer le libellé du tab, je n’arrive pas à rafraîchir le rendu.

Dans MJPanel, j’ai redéfini la méthode setName :

public void setName(String newName) {
  setName("<html?gt;<center><b>"+newName+"</b><br><font size=2>(Hello")</font></center></html?gt;");
  this.repaint();  
	}

Rien ne se passe.
Comment obliger le tab à se redessiner ?

Merci, Termos

Bonjour,
Apparemment tu change le titre du Panel contenu dans le Tab, alors que c’est à partir du TabbedPane qu’il faut travailler, avec un setTitleAt:
http://java.sun.com/j2se/1.4.2/docs/api/ja…va.lang.String)

d’ailleurs quand tu fait le “Add” tu devrais aussi préciser le titre: addTab(titre,[icon,]component)

deltree.

ps: on est passé à java 1.5 :wink: (hein deltree)

Dans MJPanel, j’ai fait ça :


JTabbedPane container = (JTabbedPane) getParent();
if (container!=null) {
  container.setTitleAt(i, "blabla");
}

Ça marche. Merci !

Termos

:jap:

d’abord maintenant c’est Java 6 :na:
pi mes clients y sont tous en Jav 1.3 et 1.4, parait même qu’il y a de jeunes qui sortent d’école qui codent encore en Java 1 avec des Vector :paf:
:ane:

arg du 1.0 …

Oui +1 pour le 1.6 mais bon, ça casse pas trois pattes à un canard le 1.6 :slight_smile:

Le 1.5 si : generics, etc :slight_smile:

(et selon le blog sur le site de java, de mon prof favori, ils planifient des trucs qui seront que du bon :slight_smile: dommage que la JVM soit lente au démarrage :p)

Je e demandais justement quelles étaient es nouveautés du 1.6. Heureusement qu’ils ne change pas toute la syntaxe à chaque version :smiley:
Je crois que c’est ce qui rebute un peu les entreprises, toute la syntaxe des applis est à repenser pour les generics (le reste tient lieu de gadget mon avis)

pour le 1.6 i y a 2-3 trucs intégré notamment Derby je crois, un BD embarquée, ça peut être sympa pour de petites applis simples.

Ouais :slight_smile:

Moi j’attends au tournant un vrai GC :slight_smile: (ouch)

oui certes :slight_smile: mais ça n’est pas des évolutions du langage :slight_smile: juste des apports à l’API.