Bonjour,
Je suis en train de créer une fenêtre qui comprend 3 JTextField associés chacun à un bouton :
- 1ère ligne : 1 JTextField, 1 JButton
- 2ème ligne : 1 JTextField, 1 JButton
- 3ème ligne : 1 JTextField, 1 JButton
Puis tout en dessous, un bouton qui exécute tout mon programme.
Voilà une image qui représente en gros ce que j'aimerai obtenir :
J'essaie tant bien que mal de réaliser cela avec les layouts tel que le GridLayout(), et le BorderLayout(), mais mes widgets sont trop gros sur ma fenêtre et prennent tout l'espace disponible, et je ne vois pas comment faire autrement...
Voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55 public class MalfunctionIHM extends JFrame { JPanel pan1; JPanel pan2; JTextField pdfFile; JTextField textFile; JTextField saveFile; JButton buttonOpenPdfFile; JButton buttonOpenTextFile; JButton buttonSaveFile; JButton buttonExecuteMalfunction; public MalfunctionIHM() { this.setTitle("Malfunction"); this.setSize(480, 180); this.setLocationRelativeTo(null); this.setResizable(true); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); pan1 = new JPanel(new GridLayout(3,2,10,10)); pdfFile = new JTextField(); pdfFile.setEditable(false); pdfFile.setText("Chercher votre fichier pdf"); buttonOpenPdfFile = new JButton(); textFile = new JTextField(); textFile.setEditable(false); textFile.setText("Chercher votre fichier txt"); buttonOpenTextFile = new JButton(); saveFile = new JTextField(); saveFile.setEditable(false); saveFile.setText("Enregistrer sous"); buttonSaveFile = new JButton(); pan1.add(pdfFile); pan1.add(buttonOpenPdfFile); pan1.add(textFile); pan1.add(buttonOpenTextFile); pan1.add(saveFile); pan1.add(buttonSaveFile); pan2 = new JPanel(new BorderLayout()); buttonExecuteMalfunction = new JButton("Executer"); pan2.add(buttonExecuteMalfunction, BorderLayout.EAST); this.getContentPane().add(pan1, BorderLayout.CENTER); this.getContentPane().add(pan2, BorderLayout.SOUTH); this.setVisible(true); } }
Partager