Stockage constantes dans un tableau Object[] [JAVA] - Java - Programmation
Marsh Posté le 10-05-2002 à 14:44:15
Marsh Posté le 10-05-2002 à 14:51:07
DarkLord a écrit a écrit : |
tiens, on dirait exactement le tête que j'ai fait en lisant le post ...
Marsh Posté le 10-05-2002 à 15:03:32
Je recommence,
Je cherche à stocker les propriétés des composants d'une frame dans un tableau générique et de ces propriétés je ne vois pas comment initialiser mes constantes statiques dans le tableau.
Constantes statiques de positionnement de la classe GridBagLayout.
par exemple pour un composant TextField, j'aimerais stocker les éléments suivants :
- GridBagConstraints.CENTER du type static int -> position dans le layout
- "Nom" du type String -> Nom du composant
- new Integer(10) Entier -> nombre de colonne du TextField
Pour initialiser la chaine et l'entier, pas de dificultés mais comment initialiser la constante statique GridBagConstraints.CENTER
Est ce + clair ?
Marsh Posté le 10-05-2002 à 15:05:00
non.
Pour ton info int n'est pas un objet mais un type primitif donc tu ne pourras pas le stocker dans un tableau d'objet
Marsh Posté le 10-05-2002 à 15:25:04
Voici 3 bouts de code :
1- Un Tableau déclarant les nom et les nombres de colonne des Labels et TextFields d'une des mes frames :
Object [][] composants = {
{"Nom",new Integer(10),"Prenom",new Integer(10)},
{"Rue ",new Integer(33)},
{"Lieu ",new Integer(33)},
{"CP ",new Integer(4),"Ville",new Integer(10)},
{"Tél.",new Integer(6)},
{"N° Sécu.",new Integer(6)},
{"Matricule",new Integer(2),"Agence",new Integer(10)}
};
Dans ce tableau je voudrais rajouter la position (GridBagConstraints.CENTER, GridBagConstraints.WEST, ...) de chaque paire, Label + TextField, dans mon Panel global.
2- J'utiliserais cette position dans cet autre bout de code :
while(n != composants.length){
Panel dataEmpPanelRow = getDataEmpPanelRow(composants[n]);
c.gridwidth = GridBagConstraints.REMAINDER;
ICI pour définir la contrainte de position du panel dataEmpPanelRow
gridbag.setConstraints(dataEmpPanelRow, c);
dataEmpPanel.add(dataEmpPanelRow);
n++;
}
add(dataEmpPanel);
3- détails de la méthode getDataEmpPanelRow qui renvoie un Panel qui encapsule le Label et son TextField correspondant :
private Panel getDataEmpPanelRow(Object [] composants) {
int n = 0;
Panel dataEmpRow = new Panel();
while(n != composants.length) {
Label label = new Label((String)composants[n]);
TextField textField = new TextField( ((Integer)composants[++n]).intValue() );
dataEmpRow.add(label);
dataEmpRow.add(textField);
n++;
}
return dataEmpRow;
}
Sinon il tout a fait possible de stocker un int dans un tableau object en l'encapsulant dans un objet Integer et en le récupérant par la méthode getValue();
Marsh Posté le 10-05-2002 à 15:32:23
Pschitt a écrit a écrit : Sinon il tout a fait possible de stocker un int dans un tableau object en l'encapsulant dans un objet Integer et en le récupérant par la méthode getValue(); |
est ce que j'ai dis le contraire? Tu remarqueras quand meme qu'on est 3 sur le coup et malgré tes explications je ne vois touours pas l'intéret de ce que tu veux faire.
Faudrait peut etre te poser des questions. Et je n'ai toujours pas compris ta question de constantes et de tableau
[jfdsdjhfuetppo]--Message édité par DarkLord le 10-05-2002 à 15:32:51--[/jfdsdjhfuetppo]
Marsh Posté le 10-05-2002 à 15:35:35
euh ... malgré les qques explications supplémentaires g toujours rien pigé au problème
ca a un interet concret ton truc ou c juste pour te triturer le cerveau inutilement
Marsh Posté le 10-05-2002 à 15:36:51
grilled
Marsh Posté le 10-05-2002 à 15:41:13
Marsh Posté le 10-05-2002 à 15:43:07
cpo ma faute je sors a peine de mon bain ... sois pas vache koi !
ps : ca bosse dur
Marsh Posté le 10-05-2002 à 15:43:39
l' """""eau""""" était bonne?
Marsh Posté le 10-05-2002 à 15:45:39
DarkLord a écrit a écrit : l' """""eau""""" était bonne? |
comme a son habitude
Marsh Posté le 10-05-2002 à 15:57:42
Marsh Posté le 10-05-2002 à 18:19:23
pchit >> je comprend tjs pas ton problème ... pkoi tu mets pas tout simplement un Integer en début de tableau qui contiendrait une des constantes ?
ex :
Object [][] composants = {
{new Integer(GridBagConstraints.CENTER), "Nom",new Integer(10),"Prenom",new Integer(10)},
{new Integer(GridBagConstraints.WEST), "Rue ",new Integer(33)}
};
Marsh Posté le 10-05-2002 à 18:20:08
ce post est dingue. Personne n'arrive à comprendre ce qu'il veut
Marsh Posté le 10-05-2002 à 14:39:40
Je ne vois pas comment déclarer des constantes (constantes de la classe GridBagConstraints) dans un tableau Object[][] ?
par exemple :
Object[][] composants = { {GridBagConstraints.CENTER,"Nom",new Integer(10) }};