JTABLE QUI PREND LES DIMENSIONS DE LA JFRAME

Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
- - Dernière réponse : cs_danimo
Messages postés
17
Date d'inscription
mercredi 18 juillet 2007
Statut
Membre
Dernière intervention
15 mars 2009
- 21 sept. 2009 à 19:04
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/43510-jtable-qui-prend-les-dimensions-de-la-jframe

Afficher la suite 
cs_DARKSIDIOUS
Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
73 -
A quoi sert ta source au juste ? une JTable est redimensionnée selon la taille de son container de base.

Hum, sinon à quoi peut bien servir :
(heightRw < 16) || (heightRw < 1)

Si c'est inférieur à 1, c'est forcément inférieur à 16 !
cs_danimo
Messages postés
17
Date d'inscription
mercredi 18 juillet 2007
Statut
Membre
Dernière intervention
15 mars 2009
-
Parceque si l'on diminue la hauteur de la frame au maximum par erreur heightRw est < 1 ce qui provoque un "trap".
D'autre part j'ai choisi de limiter cette diminution pour que heightRw ne soit pas < 16, meme si on ne diminue pas jusqu'a < 1, 16 pix. etant la taille initiale.
Compile et essaie.
cs_DARKSIDIOUS
Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
73 -
ca j'ai bien compris, mais ce que tu comprends pas apparement, c'est que si heightRw < 1 alors heightRw est forcément < 16 !

Donc dans tout les cas, la deuxième condition ne sera jamais testé ! Et donc, la deuxième condition n'est fait qu'alourdir inutilement le code.

Tu peux donc remplacer la ligne :
if ( (heightRw < 16) || (heightRw < 1) )
Par :
if (heightRw < 16) {
Qui fera exactement la même chose !
cs_danimo
Messages postés
17
Date d'inscription
mercredi 18 juillet 2007
Statut
Membre
Dernière intervention
15 mars 2009
-
Je n'arrivais plus a me connecter....

Tout a fait d'accord.
A l'origine c'etait ainsi: if (heightRw < 16) {
J'ai ajoute if (heightRw < 1) pour eviter le "trap"
Ca fonctionnait et c'est reste.

je vais modifier mais ainsi: if (heightRw < 1) {
toujours pour eviter le "trap".

Merci.
th1_man
Messages postés
28
Date d'inscription
mercredi 25 juillet 2007
Statut
Membre
Dernière intervention
24 juillet 2008
-
Salut,
Moi j'ai une autre méthode qui est plus générale et meilleur:
tu crée:
- une classe "table()" extends JPanel de propriété layout "GridLayout(x,y)"(x:nbre lignes, y:nbre de colonnes) qui represente la table.
- une classe "cellule()" extends JPanel qui représente une cellule.
- Dans le constructeur de la classe "table" tu fait:
for (int i=0; i<x; i++) {
for (int j=0; j<y; j++) {
add(new cellule());
}
}
- Dans la classe principale tu fait:
"table panelx = new table();"
puis tu fait "contentPane.add(panelx,null);"
- A la fin tu change la proprieté layout du panel "contentpane"(le panel principale) en "GridBagLayout".

Je sais ca parait un peu diffcile, mais c'est plus générale.