Problême Actionperformed() java !!?
mehdimskn
Messages postés
5
Statut
Membre
-
mehdimskn Messages postés 5 Statut Membre -
mehdimskn Messages postés 5 Statut Membre -
Bonjour à tous ,
J'essaye de créer une petite application en java, l'idée est qu'on à une fenetre, avec une zone de texte (textarea), et un bouton enregistrer. Et donc quand on clique sur le bouton le texte s'enregistre dans un fichier "fichier.txt".
Sauf que j'ai un problème avec les actionListner , et actionperformed, d'ou le titre :).
je n'ai pas pu passer en argument ma zone de texte à la méthode actionperformed.
j'ai finalement trouvé un moyen d'avoir un code qui compile et qui s'exécute sauf qu'il ne fait pas ce qui est attendu. je vous met mon code j'espère que vous pourrez m'aider.
Je vous remercie par avance pour toute réponse.
Voici mon code :
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;
import javax.swing.*;
public class Tp extends JFrame implements ActionListener {
JPanel pan = new JPanel();
JButton but = new JButton("SAUVEGARDER");
public Tp(){
this.setTitle("TP NOTE");
this.setSize(300, 300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocationRelativeTo(null);
this.setContentPane(pan);
this.setVisible(true);
//On définit le layout à utiliser sur le contentPane
pan.setLayout(new BorderLayout());
//On ajoute le bouton au contentPane de la JFrame
pan.add(but, BorderLayout.SOUTH);
//ajoute un listener : ici le listener est cette classe
but.addActionListener(this);
}
public void actionPerformed(ActionEvent e)
{
JTextArea jta = new JTextArea("TEXTE");
pan.add(jta , BorderLayout.CENTER);
jta.setEditable(true);
jta.setForeground(Color.BLUE);
try{
//ouverture du fichier
File f = new File("fichier.txt");
if (!f.exists()) {
try {
f.createNewFile();
} catch (IOException ex) {
System.err.println("Erreur de création du fichier");
}
}
FileOutputStream fos = new FileOutputStream(f, true);
PrintWriter pw = new PrintWriter(fos);
pw.println(jta.getText());
pw.close();
}catch(IOException ex)
{
}
}
public static void main(String[] args){
Tp fen = new Tp();
}
}
J'essaye de créer une petite application en java, l'idée est qu'on à une fenetre, avec une zone de texte (textarea), et un bouton enregistrer. Et donc quand on clique sur le bouton le texte s'enregistre dans un fichier "fichier.txt".
Sauf que j'ai un problème avec les actionListner , et actionperformed, d'ou le titre :).
je n'ai pas pu passer en argument ma zone de texte à la méthode actionperformed.
j'ai finalement trouvé un moyen d'avoir un code qui compile et qui s'exécute sauf qu'il ne fait pas ce qui est attendu. je vous met mon code j'espère que vous pourrez m'aider.
Je vous remercie par avance pour toute réponse.
Voici mon code :
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;
import javax.swing.*;
public class Tp extends JFrame implements ActionListener {
JPanel pan = new JPanel();
JButton but = new JButton("SAUVEGARDER");
public Tp(){
this.setTitle("TP NOTE");
this.setSize(300, 300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocationRelativeTo(null);
this.setContentPane(pan);
this.setVisible(true);
//On définit le layout à utiliser sur le contentPane
pan.setLayout(new BorderLayout());
//On ajoute le bouton au contentPane de la JFrame
pan.add(but, BorderLayout.SOUTH);
//ajoute un listener : ici le listener est cette classe
but.addActionListener(this);
}
public void actionPerformed(ActionEvent e)
{
JTextArea jta = new JTextArea("TEXTE");
pan.add(jta , BorderLayout.CENTER);
jta.setEditable(true);
jta.setForeground(Color.BLUE);
try{
//ouverture du fichier
File f = new File("fichier.txt");
if (!f.exists()) {
try {
f.createNewFile();
} catch (IOException ex) {
System.err.println("Erreur de création du fichier");
}
}
FileOutputStream fos = new FileOutputStream(f, true);
PrintWriter pw = new PrintWriter(fos);
pw.println(jta.getText());
pw.close();
}catch(IOException ex)
{
}
}
public static void main(String[] args){
Tp fen = new Tp();
}
}
A voir également:
- Problême Actionperformed() java !!?
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Waptrick java voiture - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
3 réponses
Salut,
Un petit exemple:
Cordialement,
Dan
Un petit exemple:
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JButton;
public class FenetreBoutonsListener extends JFrame implements ActionListener{
private JButton bouton;
private JButton bouton2;
public FenetreBoutonsListener(){
super();
build();//On initialise notre fenêtre
}
private void build(){
setTitle("Fenêtre qui affiche des boutons"); //On donne un titre à l'application
setSize(320,240); //On donne une taille à notre fenêtre
setLocationRelativeTo(null); //On centre la fenêtre sur l'écran
setResizable(true); //On permet le redimensionnement
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setContentPane(buildContentPane());
}
private JPanel buildContentPane(){
JPanel panel = new JPanel();
panel.setLayout(new FlowLayout());
bouton = new JButton("Cliquez ici !");
bouton.addActionListener(this);
panel.add(bouton);
bouton2 = new JButton("Ou là !");
bouton2.addActionListener(this);
panel.add(bouton2);
return panel;
}
public static void main(String[] args) {
//On crée une nouvelle instance de notre FenetreBoutons
FenetreBoutonsListener fenetre = new FenetreBoutonsListener();
fenetre.setVisible(true);//On la rend visible
}
/////////////////////////////////////////////////////////////////////////////
public void actionPerformed(ActionEvent e) { // <<<< c'est ici
Object source = e.getSource();
if(source == bouton){
System.out.println("Vous avez cliqué ici.");
}
else if(source == bouton2){
System.out.println("Vous avez cliqué là.");
}
}
}
/////////////////////////////////////////////////////////////////////////////
Cordialement,
Dan