JAVA : PROBLEME DEBUTANT

Résolu
goldenmike Messages postés 315 Date d'inscription   Statut Membre Dernière intervention   -  
oursmonegask Messages postés 14 Date d'inscription   Statut Membre Dernière intervention   -
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 ?
A voir également:

7 réponses

goldenmike Messages postés 315 Date d'inscription   Statut Membre Dernière intervention   52
 
un ptit up ?
0
oursmonegask Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
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.
0
goldenmike Messages postés 315 Date d'inscription   Statut Membre Dernière intervention   52
 
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 ...
0
oursmonegask Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
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);
	}
} 
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
goldenmike Messages postés 315 Date d'inscription   Statut Membre Dernière intervention   52
 
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 :)
0
goldenmike Messages postés 315 Date d'inscription   Statut Membre Dernière intervention   52
 
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 :)
0
oursmonegask Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
De rien bon courage pour la suite
0