Rechercher : dans
Par :

JAVA : PROBLEME DEBUTANT

Dernière réponse le 17 aoû 2009 à 22:55:28 goldenmike, le 14 aoû 2009 à 18:41:00 
 Signaler ce message aux modérateurs

Bonjour,
j'ai un probleme : il me donne ces deux erreurs quand je compile :
Combo.java:6: '{' expected
class Fenetre extends JFrame implements ActionListener throws IOException {
^
Combo.java:50: '}' expected
}
^

****
Voici mon code :
import java.awt.* ;
import java.awt.event.* ;
import javax.swing.* ;
import java.io.* ;
import java.utils.* ;
class Fenetre extends JFrame implements ActionListener throws IOException {
public Fenetre() {
setTitle("UltraText");
setSize(400,420);
setResizable(false);
Container contenu = getContentPane();
contenu.setLayout(new FlowLayout());
String[] extension = {".txt",".bat",".doc",".rtf"};
combo = new JComboBox(extension);
enregistrer = new JButton("Enregistrer");
saisie = new JTextField(20);
texte_principal = new JTextArea(20,30);
combo.setEditable(false);
combo.addActionListener(this);
saisie.setEditable(true);
texte_principal.setEditable(true);
contenu.add(texte_principal);
contenu.add(saisie);
contenu.add(enregistrer);
enregistrer.addActionListener(this);
saisie.setColumns(30);
contenu.add(combo);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void actionPerformed (ActionEvent e){
Object valeur_extension = combo.getSelectedItem();
if (e.getSource() == enregistrer){
saisie += ".txt";
PrintWriter entree= new PrintWriter (new FileWriter (saisie.getText()));
String contenu = texte_principal.getText();
entree.println(contenu);
entree.close();
}
}
private JComboBox combo;
private JTextField saisie;
private JTextArea texte_principal;
private JButton enregistrer ;
}
public class Combo {
public static void main (String args[]){
Fenetre fen = new Fenetre();
fen.setVisible(true);
}
}

Quelqu'un a une idée ?
//Dual - Boot Ubuntu Intrepid Ibex 8.10 / Windobe XP
//Seul un geek sait pourquoi la Peugeot 404 n'existe pas.

Configuration: Pc Multi Boot :
Microsoft Windows Vista
Microsoft Windows XP
Apple Mac OS X

4 GO
500 GO
2.5 GHz

Meilleures réponses pour « JAVA : PROBLEME DEBUTANT » dans :
[Programmation] Comment débuter, quel langage? VoirComment débuter, quel langage? Introduction Ceux que l'on peut utiliser Delphi/Pascal Java Python .Net Smalltalk Ceux que l'on peut utiliser à la rigueur C/C++ PHP Ada Lisp/Caml/... Ceux que l'on peut ne pas utiliser

1

goldenmike, le 14 aoû 2009 à 20:52:34

Un ptit up ? //Dual - Boot Ubuntu Intrepid Ibex 8.10 / Windobe XP
//Seul un geek sait pourquoi la Peugeot 404 n'existe pas.

Répondre à goldenmike

2

oursmonegask, le 14 aoû 2009 à 22:12:29

Salut,
Alors en java les classes sont dans differents fichiers il y aura un fichier avec Combo.java et un fichier avec Fenetre.java.
Ensuite le problème de { est du je pense à la succession de implements et throws, le mieu est de laisser implements. Et pour gerer les exceptions mettre un try et un catch dans le action performed de cette façon:

public void actionPerformed (ActionEvent e){
		Object valeur_extension = combo.getSelectedItem();
		if (e.getSource() == enregistrer){
			saisie2 += ".txt";
			try{
			PrintWriter entree= new PrintWriter (new FileWriter (saisie.getText()));
			String contenu = texte_principal.getText();
			entree.println(contenu);
			entree.close();
			}
			catch(Exception ex){
				System.out.println("erreur");
			}
		}
	}

Et la variable saisie2 doit etre déclarée en String.
Voila en espérant que ça va marcher.

Répondre à oursmonegask

3

goldenmike, le 16 aoû 2009 à 12:25:30

Bonjour ,

Je ne comprends pas ...
Voici mon code :
import java.awt.* ;
import java.awt.event.* ;
import javax.swing.* ;
import java.io.* ;
class Fenetre extends JFrame implements ActionListener throws IOException {
public Fenetre() {
setTitle("UltraText");
setSize(400,420);
setResizable(false);
Container contenu = getContentPane();
contenu.setLayout(new FlowLayout());
String[] extension = {".txt",".bat",".doc",".rtf"};
combo = new JComboBox(extension);
enregistrer = new JButton("Enregistrer");
saisie = new JTextField(20);
texte_principal = new JTextArea(20,30);
combo.setEditable(false);
combo.addActionListener(this);
saisie.setEditable(true);
texte_principal.setEditable(true);
contenu.add(texte_principal);
contenu.add(saisie);
contenu.add(enregistrer);
enregistrer.addActionListener(this);
saisie.setColumns(30);
contenu.add(combo);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void actionPerformed (ActionEvent e){
Object valeur_extension = combo.getSelectedItem();
if (e.getSource() == enregistrer){
saisie2 += ".txt";
try{
PrintWriter entree = new PrintWriter (new FileWriter (saisie.getText()));
String contenu = texte_principal.getText();
entree.println(contenu);
entree.close();
}
catch(Exception ex){
System.out.println("erreur");
}
}

}
private JComboBox combo;
private JTextField saisie;
private JTextArea texte_principal;
private JButton enregistrer ;
}
public class Combo {
public static void main (String args[]){
Fenetre fen = new Fenetre();
fen.setVisible(true);
}
}

*****

Toujours les memes erreurs ... //Dual - Boot Ubuntu Intrepid Ibex 8.10 / Windobe XP
//Seul un geek sait pourquoi la Peugeot 404 n'existe pas.

Répondre à goldenmike

4

oursmonegask, le 16 aoû 2009 à 13:06:02

C'est surement a cause du implements suivit de throws à la déclaration de classe.
Comme çela ça marche:

classe Fenetre.java:

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

class Fenetre extends JFrame implements ActionListener {
	private JComboBox combo;
	private JTextField saisie;
	private JTextArea texte_principal;
	private JButton enregistrer;
	String saisie2;
	
	public Fenetre() {
		setTitle("UltraText");
		setSize(400,420);
		setResizable(false);
		Container contenu = getContentPane();
		contenu.setLayout(new FlowLayout());
		String[] extension = {".txt",".bat",".doc",".rtf"};
		combo = new JComboBox(extension);
		enregistrer = new JButton("Enregistrer");
		saisie = new JTextField(20);
		texte_principal = new JTextArea(20,30);
		combo.setEditable(false);
		combo.addActionListener(this);
		saisie.setEditable(true);
		texte_principal.setEditable(true);
		contenu.add(texte_principal);
		contenu.add(saisie);
		contenu.add(enregistrer);
		enregistrer.addActionListener(this);
		saisie.setColumns(30);
		contenu.add(combo);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}

	public void actionPerformed (ActionEvent e){
		Object valeur_extension = combo.getSelectedItem();
		if (e.getSource() == enregistrer){
			saisie2 += ".txt";
			try{
			PrintWriter entree= new PrintWriter (new FileWriter (saisie.getText()));
			String contenu = texte_principal.getText();
			entree.println(contenu);
			entree.close();
			}
			catch(Exception ex){
				System.out.println("erreur");
			}
		}
	}
}



et classe Combo.java:
import java.awt.* ;
import java.awt.event.* ;
import javax.swing.* ;
import java.io.* ;
import java.util.* ;

public class Combo {
	public static void main (String args[]){
	Fenetre fen = new Fenetre();
	fen.setVisible(true);
	}
} 

Répondre à oursmonegask

5

goldenmike, le 16 aoû 2009 à 13:55:33

Salut !

Merci beaucoup d'abord de tes reponses .. Ca fait plaisirs de savoir qu'il n'y a pas que des gens expérimentés aident des gens non-expérimentés :)

Mais voila , justement , je ne sais aps comment faire : si je fais 2 fichiers , comment je vais pouvoir les compiler ?
DSL mais je n'ai jamais programmer de fichier avec plusieurs fichiers donc ...

Merci :) //Dual - Boot Ubuntu Intrepid Ibex 8.10 / Windobe XP
//Seul un geek sait pourquoi la Peugeot 404 n'existe pas.

Répondre à goldenmike

6

goldenmike, le 16 aoû 2009 à 14:20:57

Salut !

Je re pour te dire que finalement le programme tourne bien avec plusieurs fichiers (fenetre.java + combo.java ), je te dis 1000 merci pour ton aide :) //Dual - Boot Ubuntu Intrepid Ibex 8.10 / Windobe XP
//Seul un geek sait pourquoi la Peugeot 404 n'existe pas.

Répondre à goldenmike

7

 oursmonegask, le 17 aoû 2009 à 22:55:28

De rien bon courage pour la suite

Répondre à oursmonegask
Collection CommentÇaMarche.net