7
votes

Réglage de la taille des panneaux

J'ai 3 panneaux. L'un est le panneau principal qui contient 2 panneaux plus petits.

pour le panneau principal, j'ai utilisé p> xxx pré>

pour le panneau de gauche plus petit, j'ai utilisé p> xxx pré>

pour le Panneau droit plus petit, j'ai utilisé p> xxx pré>

mais les plus petits panneaux restent de la même taille. Comment puis-je résoudre ce problème? text alt p>

C'est le code que j'ai dans ma principale Panneau. P>

import model.*;
import java.awt.*;
import javax.swing.*;

public class Panel extends JPanel
{

public Panel(Prison prison)
{
    setup();
    build(prison);
}

private void setup()
{
    setBorder(BorderFactory.createLineBorder(Color.blue));
    setLayout(new BorderLayout(1, 1));
    setPreferredSize(new Dimension(350, 190));
}

private void build(Prison prison)
{
    JTabbedPane tab = new JTabbedPane();       
    tab.addTab("Input", null, new InputPanel(), "Input");
    tab.addTab("Display", null, new DisplayPanel(), "Display");
    add(tab);            
}
}


1 commentaires

Vous négligez de montrer le seul code pertinent dans lequel l'InputPanel est construit.


4 Réponses :


1
votes

On dirait que vous utilisez une gridlayout ou peut-être un flowlayout, ni être ce que vous voulez. Vous voulez probablement utiliser un BOXLAYOUT , qui respecte Ses composants tailles préférées.

final JPanel p = new JPanel();
p.setLayout(new BoxLayout(p, BoxLayout.X_AXIS));
p.add(leftPanel);
p.add(mainPanel);
p.add(rightPanel);


2 commentaires

Le panneau principal est celui qui contient les onglets et sous l'onglet Entrée se trouvent un autre 2 panneaux. Pour le panneau principal, j'utilise BorderLayout et pour le panneau gauche et droit, j'utilise Gridlayout.


Vous ne pouvez pas modifier la taille des cellules dans une gridlayout (les cellules ont une dimension égale)



0
votes

aussi- c'est la taille préférée. Si vous ne voulez pas autoriser le redimensionnement, vous pouvez également définir également les tailles maximales.

Si vous êtes capable, vous voudrez peut-être consulter le mig mise en page, mais BoxLayout est également Facile à utiliser et dans la boîte à outils Java déjà.


0 commentaires

10
votes

ne fais pas cela.

Le point entier des gestionnaires de la mise en page consiste à autoriser le redimensionnement dynamique, qui est nécessaire non seulement pour les fenêtres redimensionnables de l'utilisateur, mais également de modifier les textes (internationalisation) et différentes tailles de police par défaut et de polices.

Si vous venez de Utilisez correctement les responsables de la mise en page Ils vont s'occuper des tailles de panneaux. Pour éviter d'avoir vos composants étirés sur toute l'écran lorsque l'utilisateur augmente la taille de la fenêtre, disposez d'un panneau le plus externe avec un flowLayOUT aligné gauche et le reste de l'interface utilisateur comme son seul enfant - qui donnera à l'UI sa taille préférée et tout Le surplus est rempli de couleur de fond.


0 commentaires

-2
votes

C'est celui-ci. XXX

Ne laissez pas le gestionnaire de mise en page Ajuster vos tailles.


0 commentaires