IllegalThreadStateException
Bonjour,
J'ai developpe une application et j'essaye de rajouter une couche graphique. Pour cela, je me suis interesse au framework MVC comme on me l'avait conseille sur ce forum.
J'ai donc cree mon interface graphique, avec 2 boutons (start et stop). Le bouton start lance mon classe "Model" (qui derive de Thread afin de ne pas bloquer mon interface graphique). Cette classe fonctionne en permanence (elle va lire des Queues MQ toutes les 30 secondes), et pour arreter proprement mon programme, un bouton stop permet de modifier une variable static de ma classe model afin d'indiquer que l'utilisateur souhaite arreter le processus.
Quand je clique sur stop, le thread s'arrete proprement, mais j'ai une erreur si j'appuie une seconde fois sur Start
Citation:
Exception in thread "AWT-EventQueue-0" java.lang.IllegalThreadStateException
at java.lang.Thread.start(Thread.java:595)
at MQSplitterController.startMQSplitter(MQSplitterController.java:30)
at mqsplitter.JFrameMQSplitter.actionPerformed(JFrameMQSplitter.java:64)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6041)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
at java.awt.Component.processEvent(Component.java:5806)
at java.awt.Container.processEvent(Container.java:2058)
at java.awt.Component.dispatchEventImpl(Component.java:4413)
at java.awt.Container.dispatchEventImpl(Container.java:2116)
at java.awt.Component.dispatchEvent(Component.java:4243)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
at java.awt.Container.dispatchEventImpl(Container.java:2102)
at java.awt.Window.dispatchEventImpl(Window.java:2440)
at java.awt.Component.dispatchEvent(Component.java:4243)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
Quelqu'un sait'il pourquoi j'ai cette erreur ?
Merci