IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

aide utilser une variable dans une fonction differente ou elle a été créé


Sujet :

avec Java

  1. #1
    Membre averti
    Homme Profil pro
    rien
    Inscrit en
    Juin 2019
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 20
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : rien

    Informations forums :
    Inscription : Juin 2019
    Messages : 36
    Par défaut aide utilser une variable dans une fonction differente ou elle a été créé
    bonjour,

    je suis entrain de faire un programme et j'aimerais pouvoir rajouter un point à un joueur quand on clic sur un bouton.
    j'ai crée un variable aux début de mon programme,
    j'ai fait un JButton mais quand je veut ajouter 1 a la variable il y a une erreur j'ai besoin d'aide SVP.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    int b = 0;
    JButton boutton = new JButton;
    button.addActionListener(new ActionListener() {			    		   		    			    		   		    
    		public void actionPerformed(ActionEvent e) {
    b++;
    }
    });
    sur le b++; il y a une erreur "Local variable b defined in an enclosing scope must be final or effectively final"

    merci de votre aide !

  2. #2
    Membre confirmé
    Homme Profil pro
    Artisant
    Inscrit en
    Avril 2018
    Messages
    169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Artisant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2018
    Messages : 169
    Par défaut
    Salut,

    Je suis pas débutant aussi en java, mais j'ai essayé le code sur mon pc et sa fonctionne.

    Je pense que tu ne déclare pas ta variable au bon endroit.

    Il faudrait le code de ta class pour mieux voir le problème.

    Cordialement


    Fred

  3. #3
    Membre averti
    Homme Profil pro
    rien
    Inscrit en
    Juin 2019
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 20
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : rien

    Informations forums :
    Inscription : Juin 2019
    Messages : 36
    Par défaut
    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
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
     if(choix.getSelectedItem() == "Master kill") {
    			    	int b;                         /* je fait la variable */ 
    			    	int point1; 
    					int point2;
    			    	ImageIcon suite1 = new ImageIcon(getClass().getResource("/suite.jpg"));
    			    	fen.setSize(200, 150);
    			    	fen.setResizable(false);
    			    	JTextField joueur1 = new JTextField("nom joueur 1 (a supprimer)");
    			    	joueur1.setOpaque(false);
     
    			    	joueur1.setColumns(0);
    			    	joueur1.setBounds(0, 0, 100,500);
    			    	fen.add(joueur1);
    			    	joueur1.setVisible(true);
    			    	String nom1 = joueur1.getText();			    			    	
    			    	JButton suite = new JButton();
    			    	suite.setIcon(suite1);			    	
    			    	fen.add(suite);
    			    	suite.setVisible(true);
    			    	suite.addActionListener(new ActionListener() {
    			    		public void actionPerformed(ActionEvent e) {			    			
    			    			String nom1 = joueur1.getText();
    			    			System.out.println("tu a mis: " + nom1);
    					        joueur1.setText("nom joueur 2 (a supprimer)");
    			    			suite.setVisible(false);
    			    			JButton suite2 = new JButton();
    			    			suite2.setIcon(suite1);
    			    			suite2.setVisible(true);
    			    			fen.add(suite2);
    			    			suite2.addActionListener(new ActionListener() {
    			    				public void actionPerformed(ActionEvent e) {
    			    					String nom2 = (joueur1.getText());
    			    					System.out.println("le joueur 1 est: " + nom1 + " et le joueur 2 est: " + nom2 );
    			    					fen.setSize(1200, 700);
    			    					suite2.setVisible(false);
    			    					joueur1.setVisible(false);
    			    					fond1.setBackground(Color.WHITE);
    			    					fen.setTitle(nom1 + " VS " + nom2);
    			    					ImageIcon vsi = new ImageIcon(getClass().getResource("/VS.jpg"));
    			    					JLabel joueur = new JLabel(   nom1 +"                                             "+nom2);
    			    			   	    Font font = new Font("Arial",Font.BOLD,50);
    			    			   		joueur.setBounds(30, 30, getWidth(), getHeight());
    			    			   		joueur.setFont(font);
    			    			   		joueur.setVerticalAlignment(SwingConstants.TOP);   		    
    			    			        fen.add(joueur);
    			    			    	joueur.setVisible(true);
    			    			    	JButton button3 = new JButton();
    			    			        button3.setIcon(vsi);
    			    			    	button3.setBounds(350, 0, 450, 600);  
    			    			    	button3.setVisible(true);
    			    		   		    fen.add(button3);
    			    		   		    button3.setBorderPainted(true);
     
    		    		   		 		int ppp2 = 0;
    			    		   		    button3.addActionListener(new ActionListener() {			    		   		    			    		   		    
    			    		   		    	public void actionPerformed(ActionEvent e) {
    			    		   		    		String aller1;			    		   		    	
    			    		   		    		String aller2;
    			    		   		    		int aller3;
    			    		   		    		int aller4;
    			    		   		    		fen.setLayout(null);			    		   		    		
    			    		   		    		JLabel spawg = new JLabel("  tu va spawn à:                                                    tu va spawn à:");
    			    		   		    		spawg.setFont(font1);
    			    		   		    		spawg.setBounds(6, -200, getWidth(), getHeight());
    			    		   		    		fen.add(spawg);
    			    		   		    		sp1.setFont(font1);		
    			    		   		    		sp2.setFont(font1);		    		   		    		
    			    		   		    		sp1.setBounds(10, -100, getWidth(), getHeight());
    			    		   		    		sp2.setBounds(850, -100, getWidth(), getHeight());
    			    		   		    		Random al = new Random();
    			    		   		    		aller3 = al.nextInt(23);
    			    		   		    		aller4 = al.nextInt(23);			    		   		    		
    			    		   		    		aller1 = listVille[aller3] ;
    			    		   		    		aller2 = listVille[aller4];
    			    		   		    		System.out.println(aller1 + " " + aller2);		    		   		    		
    			    		   		  			sp1.setText(aller1);
    			    		   		  			sp2.setText(aller2);
     
    			    		   		  			fen.add(sp1);
    			    		   		  			fen.add(sp2);
    			    		   		  			sp1.setVisible(true); 
    			    		   		  			sp2.setVisible(true);
     
    			    		   		  			JButton p1 = new JButton();
    			    		   		  			ImageIcon p = new ImageIcon(getClass().getResource("/1p.png")); 
    			    		   		  			fen.add(p1);
    			    		   		  			fond1.add(p1);
    			    		   		  			p1.setBounds(0, 540, 195, 121);
     
     
    			    		   		  			p1.setIcon(p);
    			    		   		  			p1.setVisible(true);
    			    		   		  		    p1.addActionListener(new ActionListener() {			    		   		    			    		   		    
    					    		   		    	public void actionPerformed(ActionEvent e) {
     
    					    		   		        b++;                                                                 /* je veut ajouter 1 mais ca ne marche pas */
    					    		   		        JLabel pp1 = new JLabel();
    					    		   		        fen.add(pp1);
    					    		   		    	} 					    		   		   
    					    		   		    	});
    			    		   		    		}
    			    		   		    	});
    			    				}
    			    			});
    			    		}			    		
    			    	});
     
    			    	}
    			    }
    je ne t'est pas tout envoyer mais voila ou je veut ajouter 1, ne te perd pas

  4. #4
    Membre confirmé
    Homme Profil pro
    Artisant
    Inscrit en
    Avril 2018
    Messages
    169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Artisant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2018
    Messages : 169
    Par défaut
    Il y les balises code sur le forum : "#"

    Je pense que tu devrai initialiser ta variable en début de class comme ceci :
    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
    public class Test extends JFrame
    {
    	int b = 0;                  // Variable initialisé en début de class
     
     Test(){
    JPanel pan = new JPanel();
     
            this.setSize(700, 400);
            this.setAlwaysOnTop(true);
            this.setResizable(true);
            this.setDefaultCloseOperation(this.DISPOSE_ON_CLOSE );
            this.setLocationRelativeTo(null);
            this.setVisible(true);
            this.setContentPane(pan);
            pan.setBackground(Color.ORANGE);
            pan.setLayout(null);
     
            JButton boutton = new JButton("Test");
            boutton.setBounds(10, 10, 120, 120);
            pan.add(bouton);
            button.addActionListener(new ActionListener()
    	}
     
     public void actionPerformed(ActionEvent e) {
      b++;
      }
    }

  5. #5
    Membre averti
    Homme Profil pro
    rien
    Inscrit en
    Juin 2019
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 20
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : rien

    Informations forums :
    Inscription : Juin 2019
    Messages : 36
    Par défaut
    merci ça fonctionne ! je click tout de suite sur le bouton résolu :p

    plus qu'a continuer le programme

  6. #6
    Membre confirmé
    Homme Profil pro
    Artisant
    Inscrit en
    Avril 2018
    Messages
    169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Artisant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2018
    Messages : 169
    Par défaut
    De rien, bon codage

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 15/09/2011, 14h03
  2. Concaténer une variable dans la fonction system
    Par majudis dans le forum Débuter
    Réponses: 9
    Dernier message: 06/04/2010, 15h20
  3. utilser une fonction dans un trigger
    Par k-eisti dans le forum PL/SQL
    Réponses: 3
    Dernier message: 28/01/2008, 21h11
  4. Utilisation d'une même variable dans différents fonctions de Callback
    Par houjuventini dans le forum Interfaces Graphiques
    Réponses: 1
    Dernier message: 16/11/2007, 08h58
  5. Réponses: 15
    Dernier message: 26/03/2006, 12h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo