hi,
ich machen mit java eine server / client applikation, bei dem der user ne ip eingeben muss (soll jetz nich die diskusion sein, ob das userfreundlich ist oder nicht, das ist so
)
mein problem ist, dass wenn der user crap eingibt, oder der server sonstwie nich gefunden wird, es recht lang dauert, bis das proggy weitergeht.
momentan hab ich ein JFrame, das ein paar input-felder hat (man soll sich gleich mit dem schritt beim Server quasi registrieren), also zb username, passwort, autlogin (checkbox), und dann eben servername (jeder user kann für nen server nen anderen namen geben), und die IP.
darunter ist ein submit-button, der eben den verbindungs-aufbau anstößt.
die ganze verbindungsgeschichte läuft über RMI.
mein problem ist nun, dass wenn der verbindungsaufbau recht lang dauert, der user nichts machen kann.. alles bleibt solange hängen, wie lang es eben dauert bis ich die exception bekomme, dass er den server nich gefunden hat.
daher würd ich gern den user darüber informieren, keine panik zu schieben, das dauert einfach ein paar sekunden..
aber nun meine frage: wie mach ich das am besten?
hab schon ein eigenes JFrame versucht, kann man aber verschieben / den fokus ändern (also wieder auf das "registrieren-JFrame" gehn..
bei JOptionPane hab ich nichts gefunden, womit ich automatisch, nach ner antwort (ob erfolg oder exception) das fenster wieder schließen kann...
ganz am anfang hab ichs ja mit nem JFrame versucht, dass sogar nen progress-bar anzeigt, dass der user auch sieht dass da was geht, das hab ich in nem eigenem thread ausgelagert, aber das gibt immer noch repaint-bugs...
"bugs"... es repaintet nicht... die run-fast-endlos-schleife (while(!end){...}) funktioniert... aber auf repaint reagiert nichts, erst wenn ich die exception bekommen hab, also das main programm auch weiterläuft.
klar, mit
wobei main eben mein JPanel ist.. damit gehts zwar, aber das flimmert dann hin und wieder...
also auch nicht schön...
gibts vllt noch ne alternative? oder ist ein JFrame wirklich das einzige was mir hierbei helfen kann?
Greetz,
Nardian
ich machen mit java eine server / client applikation, bei dem der user ne ip eingeben muss (soll jetz nich die diskusion sein, ob das userfreundlich ist oder nicht, das ist so
mein problem ist, dass wenn der user crap eingibt, oder der server sonstwie nich gefunden wird, es recht lang dauert, bis das proggy weitergeht.
momentan hab ich ein JFrame, das ein paar input-felder hat (man soll sich gleich mit dem schritt beim Server quasi registrieren), also zb username, passwort, autlogin (checkbox), und dann eben servername (jeder user kann für nen server nen anderen namen geben), und die IP.
darunter ist ein submit-button, der eben den verbindungs-aufbau anstößt.
die ganze verbindungsgeschichte läuft über RMI.
mein problem ist nun, dass wenn der verbindungsaufbau recht lang dauert, der user nichts machen kann.. alles bleibt solange hängen, wie lang es eben dauert bis ich die exception bekomme, dass er den server nich gefunden hat.
daher würd ich gern den user darüber informieren, keine panik zu schieben, das dauert einfach ein paar sekunden..
aber nun meine frage: wie mach ich das am besten?
hab schon ein eigenes JFrame versucht, kann man aber verschieben / den fokus ändern (also wieder auf das "registrieren-JFrame" gehn..
bei JOptionPane hab ich nichts gefunden, womit ich automatisch, nach ner antwort (ob erfolg oder exception) das fenster wieder schließen kann...
ganz am anfang hab ichs ja mit nem JFrame versucht, dass sogar nen progress-bar anzeigt, dass der user auch sieht dass da was geht, das hab ich in nem eigenem thread ausgelagert, aber das gibt immer noch repaint-bugs...
"bugs"... es repaintet nicht... die run-fast-endlos-schleife (while(!end){...}) funktioniert... aber auf repaint reagiert nichts, erst wenn ich die exception bekommen hab, also das main programm auch weiterläuft.
klar, mit
Java:
main.paintAll(main.getGraphics());
also auch nicht schön...
gibts vllt noch ne alternative? oder ist ein JFrame wirklich das einzige was mir hierbei helfen kann?
Greetz,
Nardian