Aplicação java com conexão remoto - java.lang.IllegalMonitorStateException

Olá pessoal;

Estou fazendo uma aplicação e quero que tenha suporte por conexão remoto. Eu consegui o projeto do jrdesktop e o coloquei dentro do meu no qual tem a minha aplicação.

O que eu não estou conseguindo é chamar o main do jrdesktop para que ele abra o Frame dele. Tentei chamar o Frame da conexão diretamente, mas não deu pois possui alguns códigos no main necessários.

Então tentei fazer isso.

private void timer2OnTime(java.awt.event.ActionEvent evt) { chamar_conremoto.notify(); this.setLocationRelativeTo(null); }

chamar_conremoto é objeto da classe main do Frame de conexão.

O erro que aparece é esse:

Exception in thread “Thread-4” java.lang.IllegalMonitorStateException
at java.lang.Object.notify(Native Method)
at multsystem.Principal.timer2OnTime(Principal.java:296)
at multsystem.Principal.access$100(Principal.java:24)
at multsystem.Principal$3.onTime(Principal.java:104)
at org.netbeans.examples.lib.timerbean.Timer.fireTimerEvent(Timer.java:128)
at org.netbeans.examples.lib.timerbean.Timer.access$100(Timer.java:29)
at org.netbeans.examples.lib.timerbean.Timer$TimerThread.run(Timer.java:139)

O método notify() serve para você despertar threads que estavam dormindo. Para ele funcionar, precisa estar num bloco sincronizado.
Mas ele é um método padrão do Java, e provavelmente não será ele que será usado no seu framework.

Provavalmente, se isso é um JFrame a chamada setá chamar_conremovo.setVisible(true);

Caso contrário, só estudando a fundo o código do jrDesktop e descobrindo alguma forma.

[quote=ViniGodoy]O método notify() serve para você despertar threads que estavam dormindo. Para ele funcionar, precisa estar num bloco sincronizado.
Mas ele é um método padrão do Java, e provavelmente não será ele que será usado no seu framework.

Provavalmente, se isso é um JFrame a chamada setá chamar_conremovo.setVisible(true);

Caso contrário, só estudando a fundo o código do jrDesktop e descobrindo alguma forma.[/quote]

No caso, eu não posso chamar o frame dessa aplicação remota, mas o main dela porque possui configurações iniciais a partir dele. E o que eu estou tentando é exatamente rodar o main dele através de um evento. :shock: