Bonjour,
Je suis en train de réaliser une boite de dialogue qui va contenir un nombre de composants non fixe(textField et jlabel) et je voudrais savoir si il y ' a un moyen d ' ajuster la taille du jdialog (en hauteur) selon le nombre de composants présent dans celui ci ?
Mon code:
Merci de votre aide
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87 public class ConfigurationRequete extends JDialog implements ActionListener{ private Dimension dimLabel=new Dimension(200,20); private Dimension dimbouton=new Dimension(100,20); private ParsingXML parsing; public ConfigurationRequete() throws JDOMException { super(); initialize(); } public void initialize() { this.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); this.setTitle("Configuration fichier XML"); this.setLayout(new BorderLayout()); this.getContentPane().add(containerNord(),BorderLayout.NORTH); this.getContentPane().add(containerSud(),BorderLayout.SOUTH); this.getContentPane().add(containerCentre(),BorderLayout.CENTER); this.setLocationRelativeTo(null); this.setPreferredSize(new Dimension(400,600)); //this.setResizable(false); this.pack(); this.setVisible(true); } public JPanel containerNord() { JPanel containerNord= new JPanel();// panneau graphique JLabel label=new JLabel("Configuration du fichier XML",JLabel.CENTER); //containerNord.setLayout(new BorderLayout()); containerNord.add(label); return containerNord; } public JPanel containerCentre() { parsing=new ParsingXML(); JPanel container=new JPanel(); container.setLayout(new FlowLayout()); //container.setBorder(BorderFactory.createLineBorder(Color.BLACK)); List<String> parametresBody; try { parametresBody = parsing.afficherParametres(); List<String> tailleParametres=parsing.afficherTailleParametres(); JLabel label[]= new JLabel[parametresBody.size()]; JTextField champSaisie[]= new JTextField[parametresBody.size()]; for(int i=0;i<parametresBody.size();i++) { label[i]=new JLabel(parametresBody.get(i)); label[i].setPreferredSize(dimLabel); label[i].setHorizontalAlignment(JLabel.LEFT); label[i].setFont(new Font("Arial",Font.BOLD,15)); label[i].setToolTipText("sisi"); champSaisie[i]=new JTextField(new TextLimiter(Integer.parseInt(tailleParametres.get(i))), "", 15); container.add(label[i]); container.add(champSaisie[i]); } } catch (JDOMException e) { System.err.println("Erreur lors de la récupération du fichier JDOM " + e.getMessage() ); } return container; } public JPanel containerSud() { JPanel container=new JPanel();//disposition en flowlayout Button valider=new Button("Valider"); valider.setPreferredSize(dimbouton); valider.addActionListener(this); Button quit=new Button("Quitter"); quit.setPreferredSize(dimbouton); this.setLayout(new BorderLayout()); container.add(valider); container.add(quit); return container; }








Répondre avec citation






Partager