Avatar billede panch Nybegynder
17. maj 2002 - 11:29 Der er 4 kommentarer og
1 løsning

Swing: min JOptionPane fryser programmet!

Hej

Jeg har et program, hvor en messagebox skal komme men en eller anden ligegyldt acknowledgement. Men når jeg kører
JOptionPane opt = new JOptionPane();
opt.showMessageDialog(null, "BAD!","DOH!" , JOptionPane.ERROR_MESSAGE);

Så kommer det yderste vindue, ingenting står indeni, og hele applikationen fryser.
Hvis jeg eksekverer stumpen i et lille program for sig selv, virker det fint!
Mit program er for indviklet at forklare her, så håber at nogen kan komme med nogle generelle årsager til denne fejl. På forhånd tak.
Avatar billede jword Nybegynder
17. maj 2002 - 11:35 #1
Avatar billede panch Nybegynder
18. maj 2002 - 10:30 #2
Når jeg afvikler SwingUtilities.invokeAndWait på min funktion, skriver compileren dette:
'void' type not allowed here  SwingUtilities.invokeAndWait(  JOptionPane.showMessageDialog(null,"TEST","FUCK noget test",JOptionPane.ERROR_MESSAGE));

Hvad skal jeg gøre anderledes
Avatar billede jword Nybegynder
21. maj 2002 - 14:01 #3
når du bruger joptionpane.showmessagedialog som argument for invokeandwait bruger du return-værdien som argument for invokeandwait (og da den ikke retunerer noget (void) svarer det til at du kalder metoden uden noget. Istedet laver du en inner class el. f.eks.

class DialogInOtherThread implements Runnable {

public void run() {
JOptionPane.showMessageDialog(null,"TEST","FUCK noget test",JOptionPane.ERROR_MESSAGE);

}
}

når du vil kalde denne gør du så:
SwingUtilities.invokeAndWait(new DialogInAnotherThread());

Held og lykke.
Avatar billede panch Nybegynder
21. maj 2002 - 18:06 #4
Det virker stadig ikke. Har fundet ud af, at det er hver gang når jeg kommer tilbage fra et kald over RMI til en server. Når clienten så får et svar tilbage, at funktionen på serveren er fuldført korrekt, vil JOptionPane ikke virke, men JDialog vil godt...
Er der er et bug i java jdk 1.3? Ved kompilering med 1.4 kommer fejlen dog også. Ved at trykke CTRL+C kommer serveren med denne fejl:
java.rmi.UnmarshalException: Error unmarshaling return header; nested exception
is:

Andre ideér? Hvis jeg skal lægge min JOption pane i en Jdialog box, kan I så lægge eksempelkode på, hvordan det gøres?
Avatar billede panch Nybegynder
12. januar 2007 - 11:37 #5
Lukket
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester