2010-11-15 4 views
2

J'ai un JTabbedPane et un JTextArea, je veux que les Textareas/Panes à redimensionner pour s'adapter à la fenêtre lorsque la fenêtre est redimensionnée. Comment puis-je faire cela? Je suis également flou sur si c'est le bon composant de texte à utiliser.Quel composant de texte Java dois-je utiliser pour le redimensionner afin qu'il corresponde au cadre lorsqu'il est redimensionné?

Vraiment confus.

EDIT: Je définissais la taille explicite comme un muet stupide. J'ai tout compris. Ce que j'ai fait est de définir le viewport d'un JScrollPane comme JTextArea et de supprimer tout dimensionnement explicite.

Merci à tous!

Répondre

3

Vous pouvez utiliser tous les composants que vous aimez. Tous les JComponents peuvent être redimensionnés avec un conteneur parent de redimensionnement. Vous devez simplement choisir le bon LayoutManager.

Selon la façon dont vous voulez tout mis en place, je suppose que vous voulez ajouter votre JTabbedPane à votre JFrame comme ceci:

JTabbedPane jtp; 
JFrame frame; 
// JFrame's default layour is border layout. 
frame.add(jtp, BorderLayout.CENTER); 

Cela entraînera le volet JTabbed pour prendre tout l'espace de la JFrame.

Vous devrez également configurer votre gestionnaire de mise en page d » JTabbedPane de BorderLayout à, et aussi un onglet que vous ajoutez à la JTabbedPane devra avoir un BorderLayout.

Pour définir la mise en page de vos composants, faites:

JComponent anyComponent; 
anyComponent.setLayout(new BorderLayout()); 

Jetez un oeil à la Java LayoutManager tutorials pour plus d'informations.

Je devrais mentionner que la raison que je suggère BorderLayout est parce que n'importe quel composant ajouté au CENTER d'un BorderLayout prendra automatiquement n'importe quel espace non occupé par aucune des frontières. Et puisque vous n'ajoutez rien à aucune des autres frontières (NORD, SUD, EST, OUEST), le composant au centre occupera tout l'espace.

1

Chaque composant JComponent est redimensionné automatiquement lorsque le conteneur dans lequel il réside est redimensionné.

Il ne s'agit pas du bon composant, mais plutôt du LayoutManager à utiliser. Lors de l'ajout d'un composant à un conteneur, vous pouvez définir la taille minimale, la taille par défaut et la taille maximale.

Lors du redimensionnement du conteneur, le composant est automatiquement mis à l'échelle jusqu'à atteindre la taille maximale souhaitée.

Si vous avez besoin d'extraits de code, dites-le moi et je ferai démarrer mon IDE plus tard.

acclamations

EDIT: jjnguy me devança .. NVM alors: p

+2

Ce n'est pas correct à 100%. – jjnguy

Questions connexes