PDA

Visualizza la versione completa : [JAVA] aprire un form in vbModal


ale500
28-02-2005, 00:08
salve a tutti, sono ancora nuovo di java e delle sue interfaccie grafiche, a me servirebbe un modo di aprire un form che mi sono creato in modalità vbModal (per chi conosce Visual Basic) ovvero finchè il form non viene chiuso(o tramite la X o tramite un pulsante che ne causa la chiusura) il controllo rimane sul form e quindi il compilatore non va avanti finchè il form non perde il controllo...

spero si possa fare, grazie.

markmark
28-02-2005, 11:18
Ciao...
ti riporto quello che ho letto sulla possibilità di creare finestre modali in java:

JDialog
Le finestre di dialogo vengono usate per l'inserimento di valori, o per segnalare all'utente una situazione anomala. Ogni finestra di dialogo appartiene ad un'altra finestra; se definiamo come modale un JDialog, alla sua comparsa esso blocchera' il frame di appartenenza, in modo da costringere l'utente a portare a termine l'interazione. Possiamo creare finestre di dialogo con i seguenti costruttori


JDialog(Dialog owner, String title, boolean modal):
//crea un JDialog modale o non modale, con un titolo e con lo specificato Dialog come proprietario.
JDialog(Frame owner, String title, boolean modal):
//crea un JDialog modale o non modale, con un titolo e con lo specificato Frame come proprietario.
Altri costruttori permettono di specificare un numero inferiore di parametri. I metodi presentati su JFrame sono validi anche su JDialog.


a questo link (http://www2.mokabyte.it/forum/thread.jsp?forum=15&thread=526&message=1790) è presente un esempio di creazione di finestre modali:
Spero di esserti stato di aiuto... ciao

ale500
28-02-2005, 11:44
bene, lo leggerò con attenzione, anche se pensavo che fosse una cosa più facile... :confused:

ale500
28-02-2005, 11:46
già che ci sono come si fa invece per settare che un form all'avvio parta centrato rispetto allo shermo??

cosa che in VB si fa in una riga ma presumo qui ce ne vogliano almeno 2 :dhò:

LeleFT
28-02-2005, 11:55
Esatto. Nel costruttore devi inserire queste righe:


Dimension d = getToolkit().getScreenSize();
setLocation((d.width-[larghezza])/2, (d.height-[altezza])/2);

Dove altezza e larghezza sono le dimensioni del tuo Frame.


Ciao. :ciauz:

markmark
28-02-2005, 11:59
Il codice per centrare il frame nello schermo è il seguente:


Dimension screenSize =Toolkit.getDefaultToolkit().getScreenSize();
this.setSize(screenSize.width * 1/2,screenSize.height * 1/2);
Dimension frameSize = this.getSize();
this.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2);

ciao ciao :ciauz:

ale500
28-02-2005, 20:23
perfetto...ci sono riuscito....

praticamente i metodi che prima venivano eseguiti dal JFrame adesso vengono eseguiti dal JDialog con la differenza che il JDialog lo posso settare a modale...


grazie

PS
vagamente più macchinoso rispetto al VB. :fagiano:

Loading