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); }