Pessoal alguem tem alguma idéia como funciona ou como se faz um bloqueio de método
igual o JFrame ou JDialog faz com o setVisible(true) ???
Bloqueio de Método
5 Respostas
Como assim bloquear método?
Gostaria de ajudar, mas não captei a mensagem… :shock:
Alguns métodos da API do java, quando pressionamos Ctrl + clique mouse(eclipse) ele mostra apenas a assinatura do método. Isso é possivel fazer se vc criar um .jar contendo suas classes, e usa-lo como referencia em um projeto…ai a pessoa só verá mesmo a assinatura!
Como assim bloquear método?
Gostaria de ajudar, mas não captei a mensagem… :shock:Alguns métodos da API do java, quando pressionamos Ctrl + clique mouse(eclipse) ele mostra apenas a assinatura do método. Isso é possivel fazer se vc criar um .jar contendo suas classes, e usa-lo como referencia em um projeto…ai a pessoa só verá mesmo a assinatura!
Oi Robinson deixa eu explicar melhor, estou criando meu internalFrame personalizado utilizando um JPanel e quero que no evento show() desse novo componentes, tivesse o mesmo efeito que o setVisible(true) do JDialog tem para janelas modais. Para que isso? Para que meu fluxo continue somente depois desse meu internalFrame ser fechando.
Agora Ficou melhor…rs
Então, no seu caso vc terá que trabalhar com JInternalFrame Modal…
veja esse link:
http://java.sun.com/developer/JDCTechTips/2001/tt1220.html
Genéricos:
http://www.google.com.br/search?hl=pt-BR&q=exemplo+de+jInternalFrame+modal&meta=
Agora Ficou melhor..rs Então, no seu caso vc terá que trabalhar com JInternalFrame Modal..veja esse link:
http://java.sun.com/developer/JDCTechTips/2001/tt1220.htmlGenéricos:
http://www.google.com.br/search?hl=pt-BR&q=exemplo+de+jInternalFrame+modal&meta=
ai que é o grande ponto, eu não posso utlizar JInternalFrame pois nao utilizo Window eu utilizo JPanel.
o meu internalFrame é sobre JPanel e nao sobre Window.
eu achei uma coisa no seu link que vai me dar umas ideias
public void setVisible(boolean value) {
super.setVisible(value);
if (value) {
startModal();
} else {
stopModal();
}
}
private synchronized void startModal() {
try {
if (SwingUtilities.isEventDispatchThread()) {
EventQueue theQueue =
getToolkit().getSystemEventQueue();
while (isVisible()) {
AWTEvent event = theQueue.getNextEvent();
Object source = event.getSource();
if (event instanceof ActiveEvent) {
((ActiveEvent)event).dispatch();
} else if (source instanceof Component) {
((Component)source).dispatchEvent(
event);
} else if (source instanceof
MenuComponent) {
((MenuComponent)source).dispatchEvent(
event);
} else {
System.err.println(
"Unable to dispatch: " + event);
}
}
} else {
while (isVisible()) {
wait();
}
}
} catch (InterruptedException ignored) {
}
}
private synchronized void stopModal() {
notifyAll();
}
Valeu.
Agora Ficou melhor…rs
Então, no seu caso vc terá que trabalhar com JInternalFrame Modal…veja esse link:
http://java.sun.com/developer/JDCTechTips/2001/tt1220.htmlGenéricos:
http://www.google.com.br/search?hl=pt-BR&q=exemplo+de+jInternalFrame+modal&meta=
robinsonbsilva eu testei o código aqui e é exatamente o que eu queria.
EventQueue theQueue =
getToolkit().getSystemEventQueue();
while (isVisible()) {
AWTEvent event = theQueue.getNextEvent();
Object source = event.getSource();
if (event instanceof ActiveEvent) {
((ActiveEvent)event).dispatch();
} else if (source instanceof Component) {
((Component)source).dispatchEvent(
event);
} else if (source instanceof
MenuComponent) {
((MenuComponent)source).dispatchEvent(
event);
} else {
System.err.println(
"Unable to dispatch: " + event);
}
}
Com isso resolve meu meu problema.
Obrigado pelas dicas.