[java][swing] pbm position JLabel dans Box

Résolu/Fermé
Signaler
Messages postés
12
Date d'inscription
vendredi 12 février 2010
Statut
Membre
Dernière intervention
25 février 2010
-
Messages postés
385
Date d'inscription
mercredi 23 janvier 2008
Statut
Membre
Dernière intervention
15 décembre 2015
-
Bonjour,
Après avoir fouillé une bonne partie de tutoriels sur les Box en java, je ne suis toujours pas parvenu à résoudre mon problème : j'ai une JFrame ou je veux afficher un titre en JLabel et un JTabbedPane en dessous de ce titre.
Le moyen le plus simple semble-t'il est d'utiliser le composant Box. Ca marche nikel mais le pbm c'est que je ne peux pas positionner mon JLabel où je veux, ni gérer la taille de mon premier étage de Box.
Les BorderLayout.CENTER etc...sont totalement inefficace et la Glue me rajoute un espace monstre entre mon titre et mes onglets !

Je ne sais pas si j'ai été très clair mais si qqn à une idée ??

Merci d'avance !

PS : voici mon code !


import java.awt.BorderLayout;
import java.awt.Font;
import javax.swing.Box;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTabbedPane;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;

public class InterfaceGene{

private static JLabel titre = null;
static JTabbedPane tabbedPane = new JTabbedPane();

public static void main(String[] args) {
final JFrame f = new JFrame();
SwingUtilities.invokeLater(new Runnable() {
public void run() {
Box vBox = Box.createVerticalBox();
titre = new JLabel();
titre.setText("Syncroniseur de sous-titres");
Font font = new Font("Arial", Font.BOLD, 20);
titre.setFont(font);
vBox.add(titre, BorderLayout.CENTER);
tabbedPane.setSize(100, 300);
tabbedPane.addTab("Synchro Auto", InterfaceAuto.getJContentPane());
tabbedPane.addTab("Synchro Manu", InterfaceManu.getJContentPane());
vBox.add(tabbedPane);
f.add(vBox,BorderLayout.CENTER);
f.setSize(610, 650);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
f.setTitle("Sub Syncrone");

}
});
}


}

11 réponses

Messages postés
385
Date d'inscription
mercredi 23 janvier 2008
Statut
Membre
Dernière intervention
15 décembre 2015
70
Pourquoi tu utilise un box ???
0
Messages postés
12
Date d'inscription
vendredi 12 février 2010
Statut
Membre
Dernière intervention
25 février 2010

Ben j'ai pas réussi à mettre un titre au dessus de mes onglets, ya un autre moyen !!????????????,
0
Messages postés
385
Date d'inscription
mercredi 23 janvier 2008
Statut
Membre
Dernière intervention
15 décembre 2015
70
je comprends pas un titre au dessus des onglets. tu peut le faire normalement.

Ton problème c'est que le JtabePanne prend toute la frame sinon ?
0
Messages postés
12
Date d'inscription
vendredi 12 février 2010
Statut
Membre
Dernière intervention
25 février 2010

oui voilà !! (désolé je suis pas clair du tout !)
0
Messages postés
385
Date d'inscription
mercredi 23 janvier 2008
Statut
Membre
Dernière intervention
15 décembre 2015
70
même en utilisant un layout ???
0
Messages postés
385
Date d'inscription
mercredi 23 janvier 2008
Statut
Membre
Dernière intervention
15 décembre 2015
70
style

JLabel label = new JLabel("Syncroniseur de sous-titres" (PAGE_START)");
pane.add(label, BorderLayout.PAGE_START);

JTabbedPane tabbedPane = new JTabbedPane((CENTER));
pane.add( tabbedPane, BorderLayout.CENTER);
0
Messages postés
12
Date d'inscription
vendredi 12 février 2010
Statut
Membre
Dernière intervention
25 février 2010

ben le Layout tu l'abbplique au tabbedpan ? et puis le pbm c'est que tu peux pas lui donner (au tabbedpane) le taille que tu veux avec un layout non ?
(je suis une grosse quiche en java désolé, et merci de repondre si vite !)
0
Messages postés
12
Date d'inscription
vendredi 12 février 2010
Statut
Membre
Dernière intervention
25 février 2010

ah attends j'essaye ça !
0
Messages postés
385
Date d'inscription
mercredi 23 janvier 2008
Statut
Membre
Dernière intervention
15 décembre 2015
70
euh pardon vire les parenthèses stupide des première lignes lol

JLabel label = new JLabel("Syncroniseur de sous-titres" );
pane.add(label, BorderLayout.PAGE_START);

JTabbedPane tabbedPane = new JTabbedPane();
pane.add( tabbedPane, BorderLayout.CENTER);
0
Messages postés
12
Date d'inscription
vendredi 12 février 2010
Statut
Membre
Dernière intervention
25 février 2010

Whouuuaaaaaa mais ça marche très trop bien ! merci mille fois !
comme quoi j'ai cherché vraiment trop compliqué !
merci encore !
0
Messages postés
385
Date d'inscription
mercredi 23 janvier 2008
Statut
Membre
Dernière intervention
15 décembre 2015
70
Lol de rien tant mieux pour toi !
0