Rechercher : dans
Par :

Message d'erreur java

Dernière réponse le 27 mar 2007 à 14:53:24 m_aith, le 25 mar 2007 à 18:27:30 
 Signaler ce message aux modérateurs

Bonjour
je suis débutant java, j'ai écrit une petite classe

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class DomoZoneTexte extends JFrame {
private JTextArea zoneTexte1;
private JTextArea zoneTexte2;
private JButton copier;

public DomoZoneTexte(){
super("Demo de zone de texte");

Box boite=Box.createHorizontalBox();

String texte="Cet exemple de texte\n"+
"illustre la copie du texte\n"+
"d'une zonz de texte\n"+
"vers une autre zone de texte\n"+
"par un événement externe.\n";

JTextArea zoneTexte1=new JTextArea(texte,10,15);

boite.add(new JScrollPane(zoneTexte1));

copier=new JButton("Copier>>>");
copier.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){

zoneTexte2.setText(zoneTexte1.getSelectedText());
}
}
);

boite.add(copier);

JTextArea zoneTexte2=new JTextArea(10,15);
boite.add(new JScrollPane(zoneTexte2));

Container conteneur=getContentPane();
conteneur.add(boite);

setSize(425,200);
setVisible(true);
}

public static void main(String[] args){
DomoZoneTexte ap=new DomoZoneTexte();
ap.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

}

A la compilation il m'affiche le message suivant

"DomoZoneTexte.java": local variable zoneTexte1 is accessed from within inner class; needs to be declared final at line 31, column 44

je vois pas l'erreur du tout .. si qq'un pourrai me dire là où ca va pas .. Merci

Configuration: Windows XP
Firefox 2.0.0.3

Meilleures réponses pour « Message d'erreur java » dans :
[Logiciel libre] Installer Azureus VoirAzureus Installation Compléments : Vous installez Azureus depuis les sources officielles puisque le protocole BiTorrent est désormais couramment utilisé dans le monde GNU/Linux. Vous devez auparavant avoir installé Java ! Soit...
[IE] Erreur de script / Effectuer un débogage VoirDe temps en temps, lorsque vous naviguez sur le Net et que vous chargez une page Web, un message d'erreur de script survient : Une erreur est survenue. Une erreur est survenue sur le script de cette page. Souhaitez-vous effectuer un débogage...
[Windows Live Messenger] Erreur 8004800E VoirLa version bêta de Windows Live Messenger 8.1 (WLM) renvoie parfois l'erreur 8004800E. Cette erreur, qui sera a priori corrigée dans la version suivante, peut être éliminée de la manière suivante : Quitter complètement Windows Live...

1

 HackTrack, le 27 mar 2007 à 14:53:24

Salut!

C'est simplement parce que tu déclares tes 2 JTextArea comme variables d'instance (en début de classe) et que tu déclares à nouveau des objets du même nom dans ton constructeur.

Supprime donc la déclaration des JTextArea dans ton constructeur, comme ci-dessous:

import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.Box;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

public class DomoZoneTexte extends JFrame {
	private JTextArea zoneTexte1;

	private JTextArea zoneTexte2;

	private JButton copier;

	public DomoZoneTexte() {
		super("Demo de zone de texte");

		Box boite = Box.createHorizontalBox();

		String texte = "Cet exemple de texte\n"
				+ "illustre la copie du texte\n"
				+ "d'une zone de texte\n"
				+ "vers une autre zone de texte\n"
				+ "par un événement externe.\n";

		zoneTexte1 = new JTextArea(texte, 10, 15);

		boite.add(new JScrollPane(zoneTexte1));

		copier = new JButton("Copier>>>");
		copier.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				zoneTexte2.setText(zoneTexte1.getSelectedText());
			}
		});

		boite.add(copier);

		zoneTexte2 = new JTextArea(10, 15);
		boite.add(new JScrollPane(zoneTexte2));

		Container conteneur = getContentPane();
		conteneur.add(boite);

		setSize(425, 200);
		setVisible(true);
	}

	public static void main(String[] args) {
		DomoZoneTexte ap = new DomoZoneTexte();
		ap.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}

}



;-)
HackTrack

Répondre à HackTrack