Bonjour à tous,
je suis désolé de vous embêter avec une question aussi récurrente, mais je bloque complétement alors je cherche de courageux geek pour me filer un coup de pouce.
J'avais de très mauvais souvenir des JTable, que je trouvais lourde, non intuitive, peu souple et j'en passe...
J'ai donc décidé de développer mon propre composant super génial.
Je me retrouve à présent dans le pétrin pour un tout petit problème de taille...
Bref, j'affiche dans une JFrame test, un JSCrollPane qui contient mon tableau qui est un JPanel organisé en BorderLayout.
La partie Nord contient une ligneHorizontale qui est un JPanel structuré par un gridLayout(1,nbColonnes) au quel j'ajoute des Cellule (extends JPanel)
La partie Ouest contient une ligneVerticale qui est un JPanel structuré par un gridLayout(nbLigne,1) au quel j'ajoute des Cellule (extends JPanel)
La partie Centre : leCentre est un JPanel tructuré par un
BoxLayout(leCentre, BoxLayout.PageAxis )
Pour construire leCentre, j'ajoute des ligneHorizontale.
Une fois que tout est dedans, je me retrouve avec un problème de taille très désagréable. Tout se trouve à la bonne place, mais les tailles sont différentes.
Alors ce que j'ai fait, c'est que j'ai récupéré les dimensions du tableau, j'en déduit les dimensions des cellules, puis je parcours l'ensemble de mes cellules et je surcharge la méthode getPreferedSize() de mes cellules pour qu'elles soient toutes identiques...
C'est un échec total...
J'ai essayé MinimumSize, MaximumSize, Size, revalidate, validate, pack, repaint...Bref je craque...
Mais pourquoi donc mes cellules ne respectent pas getPreferedSize à l'affichage???
Merci beaucoup aux courageux développeurs qui m'aideront .
PS: Je ne met pas mon code car il est vraiment en chantier, et il est assez gros, mais si vous en avez besoin, je me débrouillerais pour extraire les parties intéressantes...
Partager