Besoin d'aide avec les Layout

L’auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

Hello tout le monde, Je développe actuellement une petite application et j’aurais besoin d’aide par rapport à l’agencement des différents JPanel. Voici le résultat que j’aimerais obtenir : https://www.casimages.com/i/181228105327812006.jpg.html

Actuellement, j’ai ceci : https://www.casimages.com/i/181228105730267110.png.html Je n’ai pas trop compris comment marche le gridLayout. Ici il est initialisé pour 5 lignes et 2 colonnes hors ce n’est pas le résultat que j’obtiens.

Voici mon code :

public class Main {
    static GraphicsEnvironment graphicsEnvironment=GraphicsEnvironment.getLocalGraphicsEnvironment();
    static Rectangle maximumWindowBounds=graphicsEnvironment.getMaximumWindowBounds();
    public static void main(String[] args) {
        Double screenWidth = maximumWindowBounds.getWidth();
        Double screenHeight = maximumWindowBounds.getHeight();
        Double prodWidth = screenWidth/1.35;
        
        Color arrColor[] = {Color.black, Color.yellow};

        JFrame fenetre = new JFrame();
        fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        fenetre.setTitle("Test");
        fenetre.setSize(screenWidth.intValue(), screenHeight.intValue());
        fenetre.setLayout(new BorderLayout());
        
        JPanel menu = new JPanel();
        menu.setBackground(Color.DARK_GRAY);
        menu.setPreferredSize(new Dimension(screenWidth.intValue()/4, screenHeight.intValue()));
        fenetre.add(menu, BorderLayout.WEST);
        
        JPanel prodPan = new JPanel();
        prodPan.setBackground(Color.gray);
        prodPan.setLayout(new GridLayout(5, 2));
        prodPan.setPreferredSize(new Dimension(prodWidth.intValue(), screenHeight.intValue()));
        fenetre.add(prodPan, BorderLayout.EAST);
        
        for(int i = 0; i < 5; i++) {
            JPanel pan = new JPanel();
            pan.setBackground(arrColor[i%2]);
            pan.setPreferredSize(new Dimension(300, 300));
            pan.setBorder(new EmptyBorder(10, 10, 10, 10));
            prodPan.add(pan);
        }
        JScrollPane jsPane = new JScrollPane(prodPan);
        jsPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
        jsPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
        fenetre.add(jsPane);
                fenetre.setVisible(true);

C’est la première fois que je manipule Swing, pouvez-vous me dire si j’ai bien construit ce que je veux faire jusqu’à maintenant ? Merci d’avance.

Édité par leo0617

+0 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte