Partage
  • Partager sur Facebook
  • Partager sur Twitter

Design appli JAVA

    18 février 2017 à 23:03:12

    Hello :)

    Je suis en galère sur le positionnement de boutons dans une appli JAVA.

    Je souhaiterais obtenir le résultat suivant : 

    Cependant je n'arrive pas à obtenir le placement souhaité pour les boutons. J'obtiens la chose suivante :

    Je pense que j'ai un problème de Layout. Mais je ne vois pas trop comment résoudre mon problème.

    Je joins mon code ci-après :

    package pdf.fusion.views;
    
    import javax.swing.*;
    import java.awt.*;
    import java.io.File;
    
    
    public class MainFrame extends JFrame {
        private ImageIcon addButtonBackground = new ImageIcon("./assets/img/buttons/addButtonInitialState.png");
        private ImageIcon removeButtonBackground = new ImageIcon("./assets/img/buttons/removeButtonInitialState.png");
        private ImageIcon settingsButtonBackground = new ImageIcon("./assets/img/buttons/settingsButtonInitialState.png");
        private RoundButton addFileButton = new RoundButton(addButtonBackground);
        private RoundButton removeFileButton = new RoundButton(removeButtonBackground);
        private RoundButton settingsButton = new RoundButton(settingsButtonBackground);
        private JPanel content = new JPanel();
    
        public MainFrame() {
            this.setTitle("Fusion PDF");
            this.setSize(300, 500);
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            this.setLocationRelativeTo(null);
    
            JPanel boutonPanel = new JPanel();
            boutonPanel.setLayout(new BorderLayout());
            boutonPanel.add(addFileButton, BorderLayout.SOUTH);
            boutonPanel.add(removeFileButton, BorderLayout.CENTER);
            boutonPanel.add(settingsButton, BorderLayout.NORTH);
    
            content.setLayout(new BorderLayout());
            content.add(boutonPanel, BorderLayout.EAST);
    
            this.setContentPane(content);
    
            this.setVisible(true);
        }
    }
    

    Merci d'avance pour votre aide et vos conseils  ;-)

    • Partager sur Facebook
    • Partager sur Twitter
      18 février 2017 à 23:13:44

      Essaye de faire

      tonbouton.setBounds(DistanceDuBordGaucheEnPixel, DistanceDuBordHautEnPixel, LargeurEnPixel, LongueurEnPixel);

      genre par exemple RoundButton.setBounds(343, 400, 100 ,50);

      Si ça marche pas essaye de faire ça, c'est la même chose sauf que les trucs sont séparés:

      tonboutton.setLocation(x, x);

      tonboutton.setSize(x, x);

      -
      Edité par jojos38000 18 février 2017 à 23:14:04

      • Partager sur Facebook
      • Partager sur Twitter
      Cordialement, l'homme qui te regarde par la fenêtre quand tu dors.
        19 février 2017 à 9:17:36

        Bonjour,

        Le BorderLayout n'est pas très adapté pour faire ce que tu souhaite. Essaye plutôt avec un GridBagLayout.

        Un bon tutoriel ici ==> http://bbclone.developpez.com/fr/java/tutoriels/uiswing/gridbaglayout/?page=page_2

        • Partager sur Facebook
        • Partager sur Twitter
          23 février 2017 à 14:22:25

          Hello,

          je suis d'accord avec brubru ! Sinon passe de swing a JFX, un coup de css et c'est fini ^^

          • Partager sur Facebook
          • Partager sur Twitter

          Mon projet: SpotRoom. N'hésites pas à passer dire ce que tu en penses !

          Design appli JAVA

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown