> Tous les forumsAutres langages

 prob java [resolu]
Statut du sujet : NON RESOLU Imprimer
 bobremy
  Posté le 24/02/2005 @ 18:52  
 Petit astucien

173 Messages
Bonsoir, Je viens de finir une calculette en java, la compilation se passe sans erreur, mais au lancement, j'ai : Exception in thread "main" java.lang.NoSuchMethodError: main Press any key to continue... le code: [code]import java.awt.*; import java.awt.event.*; import javax.swing.*; class CalculetteFrame extends JFrame { public CalculetteFrame() { setTitle("Calculette"); setSize(200,200); Container contentPane = getContentPane(); CalculettePanel panel = new CalculettePanel(); contentPane.add(panel); } } class CalculettePanel extends JPanel { public CalculettePanel() { setLayout(new BorderLayout()); result=0; lastCommand="="; start=true; display=new JTextField("0"); display.setEditable(false); add(display,BorderLayout.NORTH); ActionListener insert=new InsertAction(); ActionListener command=new CommandAction(); panel=new JPanel(); panel.setLayout(new GridLayout(4,4)); JButton button1 = new JButton("7"); button1.addActionListener(insert); panel.add(button1); JButton button2 = new JButton("8"); button2.addActionListener(insert); panel.add(button2); JButton button3 = new JButton("9"); button3.addActionListener(insert); panel.add(button3); JButton button4 = new JButton("/"); button4.addActionListener(command); panel.add(button4); JButton button5 = new JButton("4"); button5.addActionListener(insert); panel.add(button5); JButton button6 = new JButton("5"); button6.addActionListener(insert); panel.add(button6); JButton button7 = new JButton("6"); button7.addActionListener(insert); panel.add(button7); JButton button8 = new JButton("*"); button8.addActionListener(command); panel.add(button8); JButton button9 = new JButton("1"); button9.addActionListener(insert); panel.add(button9); JButton button10 = new JButton("2"); button10.addActionListener(insert); panel.add(button10); JButton button11 = new JButton("3"); button11.addActionListener(insert); panel.add(button11); JButton button12 = new JButton("-"); button12.addActionListener(command); panel.add(button12); JButton button13 = new JButton("0"); button13.addActionListener(insert); panel.add(button13); JButton button14 = new JButton("."); button14.addActionListener(insert); panel.add(button14); JButton button15 = new JButton("="); button15.addActionListener(command); panel.add(button15); JButton button16 = new JButton("+"); button16.addActionListener(command); panel.add(button16); } private class InsertAction implements ActionListener { public void actionPerformed(ActionEvent event) { String input=event.getActionCommand(); if (start) { display.setText(" "); start=false; } display.setText(display.getText()+input); } } private class CommandAction implements ActionListener { public void actionPerformed(ActionEvent evt) { String command=evt.getActionCommand(); if (start) { if(command.equals("-")) { display.setText(command); start=false; } else lastCommand=command; } else { calcul(Double.parseDouble(display.getText())); lastCommand=command; start=true; } } } public void calcul(double x) { if (lastCommand.equals("+")) result +=x; else if (lastCommand.equals("-")) result -=x; else if (lastCommand.equals("*")) result *=x; else if (lastCommand.equals("/")) result /=x; else if (lastCommand.equals("=")) result =x; display.setText(" "+result); } private double result; private boolean start; private String lastCommand; private JTextField display; private JPanel panel; } public class Calculette { public static void main(String args[]) { CalculetteFrame frame = new CalculetteFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.show(); } }[/code] Quelqu'un a un idée?
 Afficher le profil de bobremyEnvoyer un message privé à bobremy
 
 
Publicité
 breizhbugs  Posté le 24/02/2005 à 19:09  
Astucien

3001 Messages
Ton fichier s'appelle t-il calculette.java?
Afficher le profil de breizhbugs Voir la configuration de breizhbugsEnvoyer un message privé à breizhbugs
 Revenir en haut de la page
 bobremy  Posté le 24/02/2005 à 19:12  
Petit astucien

173 Messages
oui, c'est le bon nom... Tu peux essayer de la compiler puis de le lancer sur ton pc stp ? Pour voir si toi aussi tu as ce message ...
Afficher le profil de bobremyEnvoyer un message privé à bobremy
   Revenir en haut de la page
 bobremy  Posté le 24/02/2005 à 19:51  
Petit astucien

173 Messages
bon, maintenant, il se lance... Mais les boutons s'affiche pas, une idée ?
Afficher le profil de bobremyEnvoyer un message privé à bobremy
   Revenir en haut de la page
 breizhbugs  Posté le 24/02/2005 à 20:01  
Astucien

3001 Messages
Dans calculetteFrame, il faut un add(contentPane) je dirais. Sinon j'ai pas le jdk d'installer (le java m'a jamais vraiment plu, mais j'en ai fait un peu a l'ecole) donc peut pas tester dsl.

Modifié par breizhbugs le 24/02/2005 20:02
Afficher le profil de breizhbugs Voir la configuration de breizhbugsEnvoyer un message privé à breizhbugs
 Revenir en haut de la page
 edon47  Posté le 25/02/2005 à 17:00  
Petit astucien

438 Messages
Salut bobremy, J'ai testé ton application avec le débogeur JBuilder 9 et ton prob. est que ton panel n'est pas ajouté à ton JPanel(panel = new Jpanel;) dans le constructeur. Tu dois l'ajouter à la fin de l'initialisation des boutons. [code]JButton button11 = new JButton("3"); button11.addActionListener(insert); panel.add(button11); JButton button12 = new JButton("-"); button12.addActionListener(command); panel.add(button12); JButton button13 = new JButton("0"); button13.addActionListener(insert); panel.add(button13); JButton button14 = new JButton("."); button14.addActionListener(insert); panel.add(button14); JButton button15 = new JButton("="); button15.addActionListener(command); panel.add(button15); JButton button16 = new JButton("+"); button16.addActionListener(command); panel.add(button16); add(panel); (ajout ici) }[/code] Ainsi quand tu fais "contentPane.add(panel);", tes boutons vont apparaître dans ton JFrame. Ça marche. Bonne programmation.
Afficher le profil de edon47 Voir la configuration de edon47Envoyer un message privé à edon47
 Revenir en haut de la page
 bobremy  Posté le 25/02/2005 à 17:42  
Petit astucien

173 Messages
Merci, je vais regarder ca.
Afficher le profil de bobremyEnvoyer un message privé à bobremy
   Revenir en haut de la page
Haut de la page 
Inscrivez-vous !
- Posez vos questions

- Résolvez vos problèmes

- Aidez les autres

- Participez et créez vos discussions

- Dialoguez en privé avec d'autres membres

- Suivez vos sujets préférés

- Affichez les signatures des membres

TOUT EST GRATUIT !

Je crée mon compte



Vous avez besoin d'aide ?
Des centaines d'experts sont à votre disposition sur les forums PC Astuces pour vous aider gratuitement, 24h/24, 7j/7.

Les derniers sujets résolus !
 

 > Tous les forumsAutres langages

 
Forum PC Astuces© 1997-2008 WebastucesAller en haut de la page