[Java] Faire un "retour à la ligne" - GUI

Résolu/Fermé
Utilisateur anonyme - 4 juil. 2011 à 19:44
KX Messages postés 16752 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 août 2024 - 4 juil. 2011 à 23:25
Bonjour à tous,
Etant en train de programmer en Java, je me permets de poser une question.
Je suis actuellement sur un projet de GUI et j'aimerais que cela soit affiché comme ceci dans mon interface :

JLabel JTextArea
JLabel JTextArea

Cependant, ma fenêtre étant trop grande, cela me met :

JLabel JTextArea JLabel
JTextArea

Comment faire une sorte de "retour à la ligne" dans une GUI, s'il vous plaît, mais sans redimensionner ma fenêtre ?

Merci beaucoup,
lolteur.
A voir également:

2 réponses

KX Messages postés 16752 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 août 2024 3 019
4 juil. 2011 à 22:14
Comment tu as fait ton code ? En particulier comment tu arrives à ce résultat là ?
Regarde public void setLocation(int x,int y) ça devrait te permettre de positionner tes Component où tu veux, en l'occurrence les uns en dessous des autres..
0
Utilisateur anonyme
4 juil. 2011 à 23:11
Non en fait je crois utiliser ceci :
panel.gridLayout(2, 2);

Par contre cela me fait un espace considérable entre le JLabel et le JTextArea... :/
0
KX Messages postés 16752 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 août 2024 3 019
4 juil. 2011 à 23:25
Avec un GridLayout ça va te diviser ton conteneur en parties égales, donc avec (2,2) tu vas forcément te retrouver avec ton JTextArea au milieu et donc très éloigné du JLabel.

Remarque : quel est le type de ton objet "panel" ? Certainement pas Panel en tout cas, car il n'accepterait pas la méthode gridLayout(int,int)

Essayes avec setLocation(int,int) comme je te l'ai indiqué :

JLabel label1, label2;
JTextArea area1, area2;
int xLabel=5, xArea=30, yLigne1=5, yLigne2=20; // je donne des valeurs au pif ^^
label1.setLocation(xLabel, yLigne1);
area1.setLocation(xArea,yLigne1);
label2.setLocation(xLabel, yLigne2);
area2.setLocation(xArea,yLigne2);
0