Java problème avec un JTextArea

HommeCocoa

Membre actif
3 Janvier 2003
173
0
Vevey - Suisse
Bonjour,

J'ai un petit soucis avec le JTextArea, voici déjà mon code

Bloc de code:
package pack;

import java.awt.*;

import javax.swing.*;


public class MaFenetre extends JFrame
{

	public JTextArea textArea;
	
	MaFenetre()
	{
		this.setTitle("Essai");
		this.setBounds(200,200,800,600);
		
		Container conPan = this.getContentPane();
		
		textArea = new JTextArea();
		
		textArea.setBounds(10,10,160,80);

		conPan.add(textArea);
		
		this.setVisible(true);
		
	}
	

}

pour ce qui est du main qui est dans la ClassePrincipale, je ne fais que créer un objet de type MaFenetre.

La fenêtre s'affiche correctement, mais le JTextArea occupe tout l'espace à la place de n'avoir que 160x80 comme dimension comme il devrait grace à la méthode setBounds.

Quelle erreur ai-je bien pu commettre?

Merci d'avance,
David
 
HommeCocoa a dit:
Bonjour,

J'ai un petit soucis avec le JTextArea, voici déjà mon code


pour ce qui est du main qui est dans la ClassePrincipale, je ne fais que créer un objet de type MaFenetre.

La fenêtre s'affiche correctement, mais le JTextArea occupe tout l'espace à la place de n'avoir que 160x80 comme dimension comme il devrait grace à la méthode setBounds.

Quelle erreur ai-je bien pu commettre?

Merci d'avance,
David
Bloc de code:
[B][URL="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTextArea.html#JTextArea%28java.lang.String,%20int,%20int%29"]JTextArea[/URL][/B]([URL="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html"]String[/URL] text,           int rows,           int columns)
peut être en utilisant le nombre de column et de row
le setbounds étant un héritage awt

sinon
constrain
 
Je dirais plutôt que ça ne marche pas comme tu le souhaiterais... setBounds fonctionne très bien, mais le TextArea subit les contraintes de son conteneur et du layout associé: JFrame et FlowLayout dans ton cas.

C'est aussi pour cela que le setBound est appliqué à la Frame.

Pour contraindre la taille de ton JTextArea (faut avoir de bonnes raisons), ce sont les méthodes :

Le moyen le plus élégant étant d'indiquer (quand on le sait) le nombre de lignes et de colonnes qu'on souhaite avoir (question de taille préférée), et sinon, de laisser le layout !
 
HommeCocoa a dit:
Merci bien!
Effectivement en précisant la taille dans le constructeur ça marche nickel!

Bizarre que les méthodes héritées ne fonctionnent pas bien :confused:

pardon j'ai été mal compris mais grand gibus à répondu

java.awt.Container.autolayout()

les

javax.swing.JComponent n'ont pas le même comportement

soit cela se réfère à toutes la fenêtre pour awt
soit au container qui le contient

c'est pour ça quand ont à des méthodes mixtes
il faut essayer d'utiliser les fonctions surdéfinies
quand tu utilises swing essaye de ne pas utiliser directement awt

:zen: