RMI und JOptionPane

Status
Nicht offen für weitere Antworten.
M

Maik1987

Gast
hallo,
ich sitze jetzt seit gut 4h an einem problem und habe echt keine idee wos klemmt, das ist der codeschnipsel:
er wird aufgerufen mit i=0:
Code:
public void doItOnRemoteAgain(int i) throws RemoteException{
int n = JOptionPane.showOptionDialog(null, "...", "Ja/Nein", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE,null,....);
if ( n == JOptionPane.YES_OPTION ) {
 tue etwas
 if(i==0){
   führe dieselbe Methode nochmal auf dem anderen Rechner aus	 
   handleAufAnderenRechner.doItOnRemoteAgain(1);	 
 }
}	    
}

Starte ich die Methode auf dem rechner auf dem der Namensserver erstellt worden ist funktioniert alles und das JOptionPane wird auf beiden rechnern angezeigt.
Wird die Methode aber auf dem anderen Rechner gestartet erscheint die Frage und nach klick auf "ja" ploppt zwar beim anderen das fenster auf aber es wird nicht vollstämdig gezeichnet soll heißen es ist nur die titelleiste und der schmal äußere rahmen da. system ist win xp. JRE 1.4.1.

Wie gesagt ich habe echt keinen blaßen schimmer woran es liegen könnte und wäre echt dankbar für jede hilfe.

VG
 
T

tuxedo

Gast
Das ist ein Threading-Problem. Du musst den Aufruf des Fensters entkoppeln.

- Alex
 
G

Guest

Gast
Hallo,
danke für deine Antwort.

Kannst du vielleicht etwas konkreter werden? Was genau meinst du mit entkoppeln!??
Codeschnipsel dafür?

VG
 
T

tuxedo

Gast
DU musst das anzeigen der OptionPane in einem eigenen Thread laufen lassen... Soll heissen: JOptionPane und NetzwerkKommunikation müssen voneinander getrennt laufen.
CodeSchnipsel hab ich keinen. Aber zum Thema Threads findest du im Forum sowie im Netz genug Info.

- Alex
 
G

Guest

Gast
Nochmal danke für deine Antwort.
Meinst du gäne es rein konzeptionell einen Weg die Threadgeschichte zu vermeiden!?

VG
 
G

Guest

Gast
Anonymous hat gesagt.:
Nochmal danke für deine Antwort.
Meinst du gäne es rein konzeptionell einen Weg die Threadgeschichte zu vermeiden!?

VG
Suche mal nach Beispielen zu SwingWorker.
 
T

tuxedo

Gast
> Suche mal nach Beispielen zu SwingWorker.

Was ja prinzipiell auch nix anderes ist .. ;-)

So langsam erinner ich mich wieder... Bei mir war ein JDialog was mit RMI zusammen nicht so wollte. Nach einigem hin und her, hab ich dann einen nicht-modalen Dialog genommen. Dann gings. Lag also an der modalität. Aber im Hintergrund ist das IMHO eben ein Threading-Problem. Mit dem Swing-Worker müssts funktionieren.

Wäre jetzt noch interessant ob mein "SIMON" das Problem auch hat... Müsst ich mal testen.

- Alex
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben