Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Ich hätte ein par Fragen zu Threads.
Momentan versuche ich ein "kleines" (für mich ein ziemlich großes ) Java Programm zu schreiben und zwar ein Java IRC Quiz Bot. So, nun habe ich die GUI schonmal soweit fertig. 2 Dateien des Codes sind nu düe die GUI. IRCWindow ist die Superklasse von Gui und stellt eine kleine Textarea bereit, in der später mal die Nachrichten ausm IRC zu sehen sein werden. Aber so weit bin ich noch nich.
In der 3. Datei (Irc.java) wird zum IRC connected und einem Channel gejoint. So weit so gut. In der Gui habe ich auf einem Button einen actionHandler, der beim Klick connecten soll. Das passiert auch und der Bot joint einen Channel, allerdings kann ich dann die GUI nicht mehr bedienen.
Wie kann ich das realisieren, das der zum IRC connected, aber dennoch die GUI "ansprechbar" bleibt.
Muss ich 2 Threads erstellen? Einmal für die GUI und einmal für den IRC Bot?
OK,ich habs. Hatte quitServer() nicht auf static... Ich eier hier was weißich wielange rum und dann ist das son fehler...
Danke für den Link.
Habe das nun auch hinbekommen, aber bin damit quasi nur ins nächste Problem gerutscht...
In der datei Gui.java wird der Thread folgendermaßen aufgerufen:
Code:
public class Gui extends IRCWindow implements Runnable {
//...
public void run() {
try {
ircCon = new Irc(server, port, channel, nickname);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private void startThread ()
{
ircThread = new Thread(this);
ircThread.start();
}
//...
}
Nun wollte ich per
Code:
final JButton disconnectButton = new JButton();
disconnectButton.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
try {
ircCon.quitServer();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
});
vom IRC-Server wieder disconnecten. Aber mir wird immer folgender Fehler ausgeworden:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at JavaQuizBot.Gui$1.mouseClicked(Gui.java:311)
at java.awt.AWTEventMulticaster.mouseClicked(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)