Placer des boutons dans un emplacement spécifié en utilisant swing in java

J’essaie d’apprendre à créer des programmes JAVA et je travaille avec Swing. J’essaie de placer un bouton dans le coin supérieur gauche de la fenêtre et il continue d’aller en haut au centre.

public void createGUI(){ JFrame frame = new JFrame("My Project"); frame.setDefaultCloseOperation(3); frame.setSize(400, 350); frame.setVisible(true); JPanel panel = new JPanel(); frame.add(panel); addButtonGUI(panel, new JButton(), "test", 1, 1); } public void addButtonGUI(JPanel panel, JButton button, Ssortingng text, int x, int y){ GridBagConstraints gbc = new GridBagConstraints(); button.setText(text); button.setEnabled(true); gbc.gridx = x; gbc.gridy = y; gbc.gridwidth = 2; gbc.weightx = 1.0D; gbc.fill = 2; panel.add(button, gbc); } 

Qu’est-ce que je fais mal ou y a-t-il une meilleure façon de le faire? S’il vous plaît aider

Vous devez définir la présentation du JPanel sur GridBagLayout pour utiliser GridBagConstraints :

 JPanel panel = new JPanel(new GridBagLayout()); 

De plus, comme vous n’avez qu’une seule «cellule» efficace, vous devez utiliser une ancre et l’ JButton pour que le JButton permette un mouvement dans l’axe Y.

 gbc.anchor = GridBagConstraints.NORTHWEST; gbc.weighty = 1.0; 

De plus, je définirais le paramètre de fill sur NONE :

 gbc.fill = GridBagConstraints.NONE; 

afin que le bouton n’occupe pas toute la largeur du panneau. (2 = remplissage HORIZONTAL ).

au lieu de

 addButtonGUI(panel, new JButton(), "test", 1, 1); } 

que se passerait-il si vous utilisiez

 addButtonGUI(panel, new JButton(), "test", 0, 0); }