cs_Stubbornman
Messages postés80Date d'inscriptionlundi 18 février 2002StatutMembreDernière intervention12 janvier 2007
-
22 sept. 2006 à 13:59
cs_Stubbornman
Messages postés80Date d'inscriptionlundi 18 février 2002StatutMembreDernière intervention12 janvier 2007
-
23 sept. 2006 à 10:04
Bonjour,
J'ai quelques soucis lors du rafraichissement d'une table.
Pour commencer, je pose le décor.
Je crée une table personnelle qui comporte des Header de colonnes et de lignes.
Je met cette table dans un scrollpane, et je met le tout dans une fenêtre.
Il m'est alors possible de redéfinir la taille de la table par l'intermédiaire de deux JTextField et d'un bouton de validation.
Voilà à quoi ressemble la fenêtre à son ouverture:
Lorsque je définis une taille pour ma table qui fait qu'elle soit plus grande que la fenêtre, tout se passe bien:
Mais lorsque je commence à vouloir faire glisser la vue, tout se corse:
Je n'arrive pas bien à savoir à quoi cela peut être dû.
Je préciserais que si la table initiale est directement trop grande pour la fenêtre, il n'est pas nécessaire de faire un redimensionnement de cette dernière pour que cela se produise...
Pour redimensionner ma table, je me contente de remplacer le Model courant par un nouveau avec la nouvelle taille.
Si vous avez une idée, n'hésiter pas... Je passerais les morceaux de sources qui pourront venir en aide à votre réflexion.
cs_Stubbornman
Messages postés80Date d'inscriptionlundi 18 février 2002StatutMembreDernière intervention12 janvier 2007 23 sept. 2006 à 10:04
Bonjour.
Il semblerait que c'est effectivement le redessin qui ne fonctionne pas très bien.
Pour palier à ce problème... J'ai tout simplement changé mon fonctionnement.
Plus nécessaire de redessiner les cellules.
En effet, j'ai créé un MGScrollTable.java dans lequel je crée un JScrollPane auquel j'attache ma table, et je lui définit un RowHeader avec le MGHeaderRenderer et ca marche très bien.
cs_Stubbornman
Messages postés80Date d'inscriptionlundi 18 février 2002StatutMembreDernière intervention12 janvier 2007 22 sept. 2006 à 16:40
En fait, je ne vais pas vous asser tout mon code, ce serait fastidieux (il est relativement conséquent tout de même).
Par contre si vous me dites quelle composante peut bien créer ce problème, je pourrais vous donenr le code correspondant.
J'ajouterais juste que le problème ne se pose pas sur un déplacement vertical de ma fenêtre...
Pour être un peu plus complet tout de même, voici les fichiers que j'utilise:
MGTable.java
MGTableModel.java
MGRowHeader.java
MGRowHeaderUI.java
MGRowHeaderRenderer.java
MGColoredTableCellRenderer.java
Le fichier qui attire ma curiosités est:
MGRowHeaderUI.java où je redéfinit paint().