Variable visible dans les methodes
Résolu/Fermé
Templier Nocturne
Messages postés
7716
Date d'inscription
jeudi 22 janvier 2009
Statut
Membre
Dernière intervention
21 mai 2016
-
21 nov. 2014 à 00:00
KX Messages postés 16668 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 17 mars 2023 - 21 nov. 2014 à 07:39
KX Messages postés 16668 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 17 mars 2023 - 21 nov. 2014 à 07:39
A voir également:
- Variable visible dans les methodes
- Ce programme est écrit en python. il construit un mot secret dans une variable mais il ne l'affiche pas. modifiez-le pour qu'il affiche le mot secret. exécutez-le. quel est ce mot secret ? ✓ - Forum Python
- Vba range avec variable ✓ - Forum VB / VBA
- Dans le document, léa a utilisé 2 méthodes différentes pour centrer le nom des continents. lesquels sont centrés correctement ? ✓ - Forum Javascript
- Clé usb non visible - Guide
- Ma page facebook n'est pas visible - Forum Facebook
1 réponse
Templier Nocturne
Messages postés
7716
Date d'inscription
jeudi 22 janvier 2009
Statut
Membre
Dernière intervention
21 mai 2016
1 101
21 nov. 2014 à 01:24
21 nov. 2014 à 01:24
finalement, j'ai trouvé tout seul : il suffisait de mettre les variables en static :)
21 nov. 2014 à 07:39
D'un point de vue de la programmation objet, il serait mieux de mettre tout ton code dans la classe et de n'avoir dans ton main que la création d'un objet de cette classe.
Donc a minima, ceci :
public class maClass { private String nbr1 = new String("0"); //ma variable public void methode1(JTextField display, char t) //ma methode { nbr1 += t; //l'appel de ma variable } public maClass() { JFrame fenetre = new JFrame(); fenetre.setSize(650, 450); fenetre.setVisible(true); JPanel pbutton= new JPanel(); pbutton.setLayout(null); pbutton.setBounds(30,50,200,110); fenetre.add(pbutton); final JTextField display = new JTextField(); display.setBounds(20,20, 600, 80); JButton b1 = new JButton("1"); b1.setBounds(20, 120, 100, 50); b1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { methode1(display, '1'); // l'appel de ma methode } }); pbutton.add(display); pbutton.add(b1); } public static void main(String[] args) { new maClass(); } }Même si des constructions comme ceci seraient bienvenue :
public class maClass extends JFrame { private String nbr1 = "0"; //ma variable private final JTextField display = new JTextField(); public void methode1(JTextField display, char t) // ma methode { nbr1 += t; // l'appel de ma variable } public maClass() { super(); setSize(650, 450); JPanel pbutton = new JPanel(); pbutton.setLayout(null); pbutton.setBounds(30,50,200,110); add(pbutton); display.setBounds(20,20, 600, 80); JButton b1 = new JButton("1"); b1.setBounds(20, 120, 100, 50); /* // avant Java 8 b1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { methode1(display, '1'); // l'appel de ma methode } }); */ // en Java 8 b1.addActionListener(() -> methode1(display, '1')); pbutton.add(display); pbutton.add(b1); } public static void main(String[] args) { JFrame frame = new maClass(); frame.setVisible(true); } }