POsition applet page HTML

Résolu
gabule Messages postés 50 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 24 avril 2008 - 24 avril 2006 à 09:42
gabule Messages postés 50 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 24 avril 2008 - 25 avril 2006 à 15:50
Bonjour tout le monde .
J'ai mon applet qui se centre verticalement au milieu de la page.
Moi je veux qu'il se mette en haut et qu'il y reste.
HELP SVP.
Merci

code :

//******* affichage du tableau ********


// pour que le composant utilise toute la place
c.fill = GridBagConstraints.BOTH;


// première zone : le titre du tableau
c.gridwidth = GridBagConstraints.REMAINDER;
c.gridheight = 1;
c.weightx = 4;
titretab = new Label(titre, Label.CENTER);
if (titre.length() < 50) {
titretab.setFont(new Font("Helvetica", Font.PLAIN, 22));}
else {titretab.setFont(new Font("Helvetica", Font.PLAIN, 10));}
titretab.setBackground(Color.white);
gridbag.setConstraints(titretab, c);
add(titretab);


// 2e zone: le tableau, avec un panel où le mettre
Panel tableau = new Panel();
c.gridwidth = GridBagConstraints.REMAINDER;
c.gridheight = 1;
c.weightx = 20;
GridBagLayout grille = new GridBagLayout();
GridBagConstraints cg = new GridBagConstraints();
cg.insets = new Insets(1,1,1,1); // écart entre les labels du tableau
gridbag.setConstraints(tableau, c);
tableau.setBackground(Color.white);


tableau.setLayout(grille);
Color coule = new Color(219,226,249); // couleur du fond du tableau


// composants du tableau
setFont(new Font("Arial", Font.PLAIN, 12));
cg.fill = GridBagConstraints.BOTH;
cg.weighty = 1;


// 1ère ligne - co +1 colonnes, première colonne taille 2
// on n'affiche que 8 caractères par titre de colonne
Label titres[] = new Label[co+1];
for (int i = 0; i<co+1; i ++) {
String ss;
ss = col[i];
if (i >0 & ss.length() > 7) {ss = ss.substring(0,8);}
titres[i] = new Label(ss, Label.CENTER);
titres[i].setBackground(coule);
if (i == 0 ) {
cg.weightx = 2;
}
else {
cg.weightx = 1;
}
if (i == co) {
cg.gridwidth = GridBagConstraints.REMAINDER; //end row
}
grille.setConstraints(titres[i],cg);
tableau.add(titres[i]);
}


// autres lignes
cg.gridwidth = 1;
Label ele[][] = new Label[l+1][co+1];

// transformation du tableau en lettres pour affichage dans le label
String tablettres[][] = new String[l][co];
for (int j = 0; j<l; j ++){
for (int i =0; i<co; i ++){
tablettres[j][i] = Double.toString(tab[j][i]);
}
}
// affichage
for (int j = 0; j<l; j ++){
cg.weightx = 2;
cg.gridwidth = 1;
ele[j][0] = new Label(lig[j], Label.LEFT);
ele[j][0].setBackground(coule);
grille.setConstraints(ele[j][0],cg);
tableau.add(ele[j][0]);


for (int i = 0; i<co; i ++) {
cg.weightx = 1;
ele[j][i+1] = new Label(tablettres[j][i], Label.CENTER);
ele[j][i+1].setBackground(coule);


if (i == co-1) {
cg.gridwidth = GridBagConstraints.REMAINDER; //end row
}
grille.setConstraints(ele[j][i+1],cg);
tableau.add(ele[j][i+1]);
}
}


add(tableau);
// 4e zone : les consignes
c.gridwidth = GridBagConstraints.REMAINDER;
c.gridheight = 1;
setFont(new Font("Arial", Font.PLAIN, 12));
consignes2 = new Label("Cliquez sur un des boutons pour faire un graphique. ", Label.CENTER);
gridbag.setConstraints(consignes2, c);
consignes2.setBackground(Color.yellow);
add(consignes2);


// 3 boutons pour faire un graphique
b5 = new Button(" courbes ");
b6 = new Button(" bâtons ");
b7 = new Button(" nuage de points ");

add(b5);
b5.addActionListener(this);
add(b6);
b6.addActionListener(this);
add(b7);
b7.addActionListener(this);





// taille de la fenêtre (à donner dans la page html)
setSize(400 + 20 * co, 220 + 10 * l);

7 réponses

gabule Messages postés 50 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 24 avril 2008
25 avril 2006 à 15:50
Ca y est, j'ai la solution :
La page HTML doit etre avec une frame en 2 parties : celle du bas qui contient l'applet et celle du haut dans laquelle on choisit le fichier texte et avec du javascript on compte le nombre de lignes que contient le fichier puis on lance la seconde frame ( celle de l'applet) grace a du javascript qui va recuperer les info de la frame d'en haut qui a compté le nb de ligne et va generer le code HTML avec la bonne taille pour l'applet : si le fichier texte a peu de lignes : l'applet sera petit, si le txt a bcp de lignes, l'applet sera grand !
C en quelque sorte du HTML dynamique !
Voilou, a ma connaissance c la seule solution.
++

RoXXe
3
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
24 avril 2006 à 10:33
Salut,



la position de ton applet dans une page web depend uniquement de ton fichier web(html,xhtml,php,...)

WORA
0
gabule Messages postés 50 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 24 avril 2008
24 avril 2006 à 10:49
non c'est un bug dans le code : l'applet prend toute la place mais le tableau et les boutons sont centrés au milieu avec bcp de place au dessus et au dessous.
En bidouillant j'arrive a faire remonter le tableau mais pas les boutons qui restent seuls a u milieu de la page
0
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
24 avril 2006 à 11:03
Vas faire un tour ICIil y a plein de conseil pratique pour t'eviter ce genre de bug

WORA
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
gabule Messages postés 50 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 24 avril 2008
24 avril 2006 à 11:21
Merci.
Maintenant que j'ai rectifié le code, J'ai le tableau et les boutons en haut de la page comme je voulais mais le porb c que le tableau et de taille variable : il peut contenir tres bien 2 données que 500.
Le probleme c dans le html quand je donne une taille a l'applet , si je la donne trop petite ca me bouffe des données du tableau et si je la mets trop grande ca me fait des boutons (qui sont en bout du tableau) qui comblent le vide (ils peuvent donc etre énormes.
Comment puis je faire pour que la page HTML s'adapte a la taille de l'applet (qui depend des données qu'il y a ds son tableau)?
0
bloofi Messages postés 388 Date d'inscription mercredi 1 octobre 2003 Statut Membre Dernière intervention 3 mai 2006 2
24 avril 2006 à 12:33
Coucou,

je ne pense pas que cela soit possible... la page est chargée avant que l'applet soit chargé et donc avant qu'elle n'ait d'information concernant son contenu.

Essaye de laisser ton applet avec une taille fixe et met ton tableau dont les données peuvent etre "bouffées" dans un JScrollPane.
0
gabule Messages postés 50 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 24 avril 2008
24 avril 2006 à 16:27
Merci pour ta solution.
:-)
0
Rejoignez-nous