Bonjour,
Je fais mes premiers pas avec "Eclipse Neon.1 Release (4.6.1)" après avoir (un peu) utilisé NetBeans 8.1.
En ajoutant sur une "JFrame Form" (dans cet ordre), un bouton et ensuite un label, on obtient le code ci-après.
En ajoutant ensuite un "actionPerformed" sur le bouton visant à modifier le label, cet ajout est impossible par l'autocomplétion parce que le JLabel est défini plus bas.
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 private void initialize() { frame = new JFrame(); frame.setBounds(100, 100, 450, 300); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.getContentPane().setLayout(null); // 1. Dépose du bouton JButton btnNewButton = new JButton("New button"); btnNewButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { lblNewLabel.xxxxxx // Pas d'autocomplétion possible. } }); btnNewButton.setBounds(126, 37, 117, 29); frame.getContentPane().add(btnNewButton); // 2. Dépose du label JLabel lblNewLabel = new JLabel("New label"); lblNewLabel.setBounds(155, 102, 61, 16); frame.getContentPane().add(lblNewLabel); } }
Il faut donc modifier le code comme suit, en déplaçant vers le haut les définitions du JButton et du JLabel.
Est-on impérativement obligé de procéder de la sorte, à savoir, déplacer manuellement les définitions des composants ?
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 JButton btnNewButton = new JButton("New button"); JLabel lblNewLabel = new JLabel("New label"); // 1. Dépose du bouton btnNewButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { lblNewLabel.xxxx // Autocomplétion possible. } }); btnNewButton.setBounds(126, 37, 117, 29); frame.getContentPane().add(btnNewButton); // 2. Dépose du label lblNewLabel.setBounds(155, 102, 61, 16); frame.getContentPane().add(lblNewLabel); } }
Je n'ai pas ce problème avec NetBeans.
Merci pour vos réponses.
Partager