Problème de Java....

Problème de Java.... - Programmation

Marsh Posté le 11-03-2001 à 18:34:18    

main.java:37: unreported exception java.lang.ClassNotFoundException; must be caught or declared to be thrown
      String thestring = (String) descriptor3.readObject();
                                             ^
 
Voici l'endroit du source ou ca coince :
 
 try
    {
      FileInputStream descriptor2 = new FileInputStream("toto" );
      ObjectInputStream descriptor3 = new ObjectInputStream(descriptor2);
      String thestring = (String) descriptor3.readObject();
      champ.setText(thestring);
      descriptor2.close();
    }
    catch (FileNotFoundException ex)
    {}
    catch (IOException ex)
    {}
 
Merchi d'avance :)

Reply

Marsh Posté le 11-03-2001 à 18:34:18   

Reply

Marsh Posté le 11-03-2001 à 21:28:25    

bon g trouvé, fallait mettre catch (ClassNotFoundException ex)

Reply

Marsh Posté le 11-03-2001 à 22:11:12    

oui entre autre mais bon , tu povais aussi faire juste :
catch(Exception e){} comme ca t es tranquille , ca les prend toutes !

Reply

Marsh Posté le 11-03-2001 à 22:21:29    

vi mais finalement j'utilise
 
catch (IOException ex)
 
pour une fonction précise.
 
D'ailleurs g un autre problème :  
 
Voila le source :
 
import java.awt.*;
import java.io.*;
import java.awt.event.*;
import javax.swing.*;
import java.net.*;
 
class main
{
  public static void main(String [] args)
  {
    Texte fenetre;
    fenetre = new Texte();
    fenetre.setVisible(true);
  }
}
 
class Texte extends JFrame implements ActionListener
{
  JButton save = new JButton("Save" );
  JButton exit = new JButton("Exit" );
  JTextField champ = new JTextField(20);
 
  Texte()
  {
    super();
    Container cont = getContentPane();
    cont.setLayout(new BoxLayout(cont,BoxLayout.X_AXIS));
    cont.add(save);
    cont.add(exit);
    save.addActionListener(this);
    exit.addActionListener(this);
    try
    {
      FileInputStream descriptor2 = new FileInputStream("toto" );
      ObjectInputStream descriptor3 = new ObjectInputStream(descriptor2);
      JTextField champ = (JTextField) descriptor3.readObject();
      cont.add(champ);
      descriptor3.close();
      descriptor2.close();
    }
    catch (ClassNotFoundException ex)
    {}
    catch (IOException ex)
    {
     cont.add(champ);
    }
    pack();
  }
 
  public void actionPerformed(ActionEvent e)
  {
    if (e.getActionCommand() == "Save" )
    {
      try
      {
        FileOutputStream descriptor = new FileOutputStream("toto" );
        ObjectOutputStream descriptor4 = new ObjectOutputStream(descriptor);
        descriptor4.writeObject(champ);
        descriptor4.flush();
        descriptor.close();
      }
      catch(IOException ex)
      {}
    }
    if (e.getActionCommand() == "Exit" )
    {
      System.exit(1);
    }
  }
}
 
Le truc c'est que si je tappe mon texte dans le champ, et que je fais save, le fichier objet toto est bien généré.
SI je relance le programme, le fichier toto est bien lu, et la chaine de caractère precedemment rentrée se retrouve bien à nouveau dans le champ.
Le problème c'est que si je fais save à nouveau, y a apparement un truc qui couille car quand je recharge le programme, la zone de texte reste desesperemment vide :(
 
Une idée ?

 

[edit]--Message édité par joce--[/edit]

Reply

Marsh Posté le 11-03-2001 à 22:37:36    

'tain c'est vicieux comme language :)
J'ai trouvé l'erreur :
 
Dans le premier try, fallait mettre :
 
champ = (JTextField) descriptor3.readObject();  
 
et pas :
 
JTextField champ = (JTextField) descriptor3.readObject();  
 
(sinon ca créait un nouvel objet :pt1cable: )

Reply

Marsh Posté le 11-03-2001 à 22:46:13    

Euh tu sais, le java, ça s'apprend, c'est pas comme le php :D

Reply

Marsh Posté le 12-03-2001 à 00:55:31    

on a eu deux TD pour l'instant à l'ISEP, et y a deja exam demain :sweat:

Reply

Marsh Posté le 12-03-2001 à 01:25:56    

Y a pas à dire, j'aime les erreurs java :D
 
Exception occurred during event dispatching:
java.awt.AWTError: BoxLayout can't be shared
        at javax.swing.BoxLayout.checkContainer(BoxLayout.java:342)
        at javax.swing.BoxLayout.invalidateLayout(BoxLayout.java:147)
        at java.awt.Container.invalidate(Container.java:701)
        at java.awt.Component.addNotify(Component.java:4038)
        at java.awt.Container.addNotify(Container.java:1572)
        at javax.swing.JComponent.addNotify(JComponent.java:4015)
        at java.awt.Container.addNotify(Container.java:1579)
        at javax.swing.JComponent.addNotify(JComponent.java:4015)
        at java.awt.Container.addNotify(Container.java:1579)
        at javax.swing.JComponent.addNotify(JComponent.java:4015)
        at javax.swing.JRootPane.addNotify(JRootPane.java:483)
        at java.awt.Container.addNotify(Container.java:1579)
        at java.awt.Window.addNotify(Window.java:347)
        at java.awt.Dialog.addNotify(Dialog.java:247)
        at java.awt.Dialog.conditionalShow(Dialog.java:306)
        at java.awt.Dialog.show(Dialog.java:355)
        at java.awt.Component.show(Component.java:946)
        at java.awt.Component.setVisible(Component.java:903)
        at Texte.actionPerformed(main.java:68)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:14
50)
        at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(Abstra
ctButton.java:1504)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel
.java:378)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:250
)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonL
istener.java:216)
        at java.awt.Component.processMouseEvent(Component.java:3717)
        at java.awt.Component.processEvent(Component.java:3546)
        at java.awt.Container.processEvent(Container.java:1164)
        at java.awt.Component.dispatchEventImpl(Component.java:2595)
        at java.awt.Container.dispatchEventImpl(Container.java:1213)
        at java.awt.Component.dispatchEvent(Component.java:2499)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:2451
)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:2216)
 
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:2125)
        at java.awt.Container.dispatchEventImpl(Container.java:1200)
        at java.awt.Window.dispatchEventImpl(Window.java:912)
        at java.awt.Component.dispatchEvent(Component.java:2499)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:319)
        at java.awt.EventDispatchThread.pumpOneEvent(EventDispatchThread.java:10
3)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:84)
Exception occurred during event dispatching:
java.awt.AWTError: BoxLayout can't be shared
        at javax.swing.BoxLayout.checkContainer(BoxLayout.java:342)
        at javax.swing.BoxLayout.invalidateLayout(BoxLayout.java:147)
        at java.awt.Container.invalidate(Container.java:701)
        at java.awt.Component.reshape(Component.java:1442)
        at javax.swing.JComponent.reshape(JComponent.java:3439)
        at java.awt.Component.setBounds(Component.java:1399)
        at javax.swing.JRootPane$RootLayout.layoutContainer(JRootPane.java:699)
        at java.awt.Container.layout(Container.java:686)
        at java.awt.Container.doLayout(Container.java:676)
        at java.awt.Container.validateTree(Container.java:750)
        at java.awt.Container.validateTree(Container.java:757)
        at java.awt.Container.validate(Container.java:728)
        at java.awt.Window.dispatchEventImpl(Window.java:895)
        at java.awt.Component.dispatchEvent(Component.java:2499)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:319)
        at java.awt.EventDispatchThread.pumpOneEvent(EventDispatchThread.java:10
3)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:84)
Exception occurred during event dispatching:
java.awt.AWTError: BoxLayout can't be shared
        at javax.swing.BoxLayout.checkContainer(BoxLayout.java:342)
        at javax.swing.BoxLayout.layoutContainer(BoxLayout.java:291)
        at java.awt.Container.layout(Container.java:686)
        at java.awt.Container.doLayout(Container.java:676)
        at java.awt.Container.validateTree(Container.java:750)
        at java.awt.Container.validateTree(Container.java:757)
        at java.awt.Container.validateTree(Container.java:757)
        at java.awt.Container.validateTree(Container.java:757)
        at java.awt.Container.validate(Container.java:728)
        at java.awt.Dialog.conditionalShow(Dialog.java:308)
        at java.awt.Dialog.show(Dialog.java:355)
        at java.awt.Component.show(Component.java:946)
        at java.awt.Component.setVisible(Component.java:903)
        at Texte.actionPerformed(main.java:68)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:14
50)
        at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(Abstra
ctButton.java:1504)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel
.java:378)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:250
)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonL
istener.java:216)
        at java.awt.Component.processMouseEvent(Component.java:3717)
        at java.awt.Component.processEvent(Component.java:3546)
        at java.awt.Container.processEvent(Container.java:1164)
        at java.awt.Component.dispatchEventImpl(Component.java:2595)
        at java.awt.Container.dispatchEventImpl(Container.java:1213)
        at java.awt.Component.dispatchEvent(Component.java:2499)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:2451
)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:2216)
 
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:2125)
        at java.awt.Container.dispatchEventImpl(Container.java:1200)
        at java.awt.Window.dispatchEventImpl(Window.java:912)
        at java.awt.Component.dispatchEvent(Component.java:2499)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:319)
        at java.awt.EventDispatchThread.pumpOneEvent(EventDispatchThread.java:10
3)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:84)
Exception occurred during event dispatching:
java.awt.AWTError: BoxLayout can't be shared
        at javax.swing.BoxLayout.checkContainer(BoxLayout.java:342)
        at javax.swing.BoxLayout.layoutContainer(BoxLayout.java:291)
        at java.awt.Container.layout(Container.java:686)
        at java.awt.Container.doLayout(Container.java:676)
        at java.awt.Container.validateTree(Container.java:750)
        at java.awt.Container.validateTree(Container.java:757)
        at java.awt.Container.validateTree(Container.java:757)
        at java.awt.Container.validateTree(Container.java:757)
        at java.awt.Container.validate(Container.java:728)
        at java.awt.Dialog.conditionalShow(Dialog.java:308)
        at java.awt.Dialog.show(Dialog.java:355)
        at java.awt.Component.show(Component.java:946)
        at java.awt.Component.setVisible(Component.java:903)
        at Texte.actionPerformed(main.java:68)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:14
50)
        at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(Abstra
ctButton.java:1504)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel
.java:378)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:250
)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonL
istener.java:216)
        at java.awt.Component.processMouseEvent(Component.java:3717)
        at java.awt.Component.processEvent(Component.java:3546)
        at java.awt.Container.processEvent(Container.java:1164)
        at java.awt.Component.dispatchEventImpl(Component.java:2595)
        at java.awt.Container.dispatchEventImpl(Container.java:1213)
        at java.awt.Component.dispatchEvent(Component.java:2499)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:2451
)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:2216)
 
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:2125)
        at java.awt.Container.dispatchEventImpl(Container.java:1200)
        at java.awt.Window.dispatchEventImpl(Window.java:912)
        at java.awt.Component.dispatchEvent(Component.java:2499)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:319)
        at java.awt.EventDispatchThread.pumpOneEvent(EventDispatchThread.java:10
3)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:84)
Exception occurred during event dispatching:
java.awt.AWTError: BoxLayout can't be shared
        at javax.swing.BoxLayout.checkContainer(BoxLayout.java:342)
        at javax.swing.BoxLayout.layoutContainer(BoxLayout.java:291)
        at java.awt.Container.layout(Container.java:686)
        at java.awt.Container.doLayout(Container.java:676)
        at java.awt.Container.validateTree(Container.java:750)
        at java.awt.Container.validateTree(Container.java:757)
        at java.awt.Container.validateTree(Container.java:757)
        at java.awt.Container.validateTree(Container.java:757)
        at java.awt.Container.validate(Container.java:728)
        at java.awt.Dialog.conditionalShow(Dialog.java:308)
        at java.awt.Dialog.show(Dialog.java:355)
        at java.awt.Component.show(Component.java:946)
        at java.awt.Component.setVisible(Component.java:903)
        at Texte.actionPerformed(main.java:68)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:14
50)
        at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(Abstra
ctButton.java:1504)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel
.java:378)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:250
)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonL
istener.java:216)
        at java.awt.Component.processMouseEvent(Component.java:3717)
        at java.awt.Component.processEvent(Component.java:3546)
        at java.awt.Container.processEvent(Container.java:1164)
        at java.awt.Component.dispatchEventImpl(Component.java:2595)
        at java.awt.Container.dispatchEventImpl(Container.java:1213)
        at java.awt.Component.dispatchEvent(Component.java:2499)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:2451
)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:2216)
 
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:2125)
        at java.awt.Container.dispatchEventImpl(Container.java:1200)
        at java.awt.Window.dispatchEventImpl(Window.java:912)
        at java.awt.Component.dispatchEvent(Component.java:2499)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:319)
        at java.awt.EventDispatchThread.pumpOneEvent(EventDispatchThread.java:10
3)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:84)
 
Heureusement qu'on a pas ca sur le forum :lol:

Reply

Marsh Posté le 12-03-2001 à 01:30:34    

Ouach, je déteste le java. Pense à cette grosse merde  de Netscape 6 tout codé en Java.

 

[edit]--Message édité par AlphaT--[/edit]

Reply

Marsh Posté le 12-03-2001 à 01:37:14    

Franchement je crache pas dessus.

Reply

Marsh Posté le 12-03-2001 à 01:37:14   

Reply

Marsh Posté le 12-03-2001 à 01:42:52    

NS6 en Java ?

Reply

Marsh Posté le 12-03-2001 à 01:49:30    

joce a écrit a écrit :

Franchement je crache pas dessus.




Moi non plus. En tout cas, par rapport à C/C++, c'est un gros progrès. C'est un peu bête d'avoir inventé un langage pour ça (d'autres existaient déjà et remplissaient très bien leur office), mais c'est déjà ça...  :benetton:

Reply

Marsh Posté le 12-03-2001 à 01:52:07    

C'est clair que pour l'instant je le prefère au C++

Reply

Marsh Posté le 12-03-2001 à 01:56:37    

T'as aussi les exceptions en c++ si tu veux :D

Reply

Marsh Posté le 12-03-2001 à 03:48:28    

Ce n'est pas vraiment parce qu'il y a ou qu'il n'y a pas les exceptions en C++ que je n'aime pas ce langage. C'est plutôt dans sa philosophie qu'il faut regarder... :sarcastic:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed