Java : aide pour choisir un Layout
Schloufi
-
Schloufi -
Schloufi -
Bonjour,
je suis actuellement en train de coder une application en JAVA assez simple, mais je n'arrive pas à trouver un LayoutManager correspondant à ce que je veux faire.
J'ai une JFrame principale dans laquelle je souhaite ajouter 2 composants l'un sur l'autre : un PCanvas (API piccolo2d) et une JScrollPane.
Jusque là tout va bien, seulement j'aimerais préciser des proportions pour chacun des composants, par exemple le PCanvas prend les 3/4 de la fenêtre et le JScrollPane le 1/4 restant.
Or avec un GridLayout(2,1), je n'arrive pas à faire cela. Les proportions restent égales. Que me conseillez-vous ?
Merci d'avance.
je suis actuellement en train de coder une application en JAVA assez simple, mais je n'arrive pas à trouver un LayoutManager correspondant à ce que je veux faire.
J'ai une JFrame principale dans laquelle je souhaite ajouter 2 composants l'un sur l'autre : un PCanvas (API piccolo2d) et une JScrollPane.
Jusque là tout va bien, seulement j'aimerais préciser des proportions pour chacun des composants, par exemple le PCanvas prend les 3/4 de la fenêtre et le JScrollPane le 1/4 restant.
Or avec un GridLayout(2,1), je n'arrive pas à faire cela. Les proportions restent égales. Que me conseillez-vous ?
Merci d'avance.
A voir également:
- Java : aide pour choisir un Layout
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Waptrick java voiture - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
3 réponses
Voici un exemple complet avec deux Button. J'espère que tu y verras mieux ;-)
Le bouton du haut prend 2/3 de la hauteur, celui du bas 1/3.
La confiance n'exclut pas le contrôle
Le bouton du haut prend 2/3 de la hauteur, celui du bas 1/3.
import java.applet.Applet;
import java.awt.Button;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import javax.swing.JFrame;
public class Test
{
public static void main(String[] args) public static void main(String[] args)
{
GridBagLayout g = new GridBagLayout();
Applet a = new Applet();
a.setLayout(g);
GridBagConstraints c = new GridBagConstraints();
c.fill = GridBagConstraints.BOTH;
c.gridwidth = GridBagConstraints.REMAINDER;
Button b1 = new Button("Bouton 1");
{
c.gridx=0; // Colonne 0
c.gridy=0; // Ligne 0
c.weightx = 1.0; // Largeur 1
c.weighty = 2.0; // Hauteur 2
g.setConstraints(b1, c);
}
a.add(b1);
Button b2 = new Button("Bouton 2");
{
c.gridx=0; // Colonne 0
c.gridy=1; // Ligne 1
c.weightx = 1.0; // Largeur 1
c.weighty = 1.0; // Hauteur 1
g.setConstraints(b2, c);
}
a.add(b2);
JFrame f = new JFrame("");
f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
f.add(a);
f.pack();
f.setLocationRelativeTo(null);
f.setVisible(true);
}
}
La confiance n'exclut pas le contrôle
Je viens d'essayer le GridBagLayout, mais je pense que je n'ai pas tout compris...
J'ai essayé un truc comme ça, pour que mon canvas prenne les 2/3 supérieurs de l'écran et la scrollPane le 1/3 inférieur.
Mais au final ma fenêtre ne comporte qu'une sorte de tache au milieu de l'écran...
Je n'ai jamais utilisé de GridBagLayout et j'avoue que j'ai un peu de mal à voir d'où vient le problème.
Merci d'avance !