|
HOME |
FORUM |
INDICE |
MyDialog.java
|
/*
Finestra di dialogo per la richiesta di conferma.
Autore: Agosto 2009, Giovanni Iacobelli - http://www.iacosoft.com
*/
import java.awt.*;
import java.awt.event.*;
class MyDialog extends Dialog implements WindowListener, ActionListener
{
static final int RESULT_OK= 1;
static final int RESULT_CANCEL= 0;
int m_stato= MyDialog.RESULT_CANCEL;
//costruttore
public MyDialog(Frame parent, String titolo, String domanda)
{
super(parent, titolo, true);
//aggiunge il gestore per l'evento di chiusura
addWindowListener(this);
//imposta le dimensioni iniziali della finestra
setSize(300,100);
//un pannello conterrą l'icona e il messaggio
Panel cont= new Panel();
ContenitoreImage img= new ContenitoreImage("question.gif");
cont.add(img);
Label lbl= new Label(domanda, Label.CENTER);
cont.add(lbl);
//aggiunge il pannello nella zona centrale della finestra
add(cont, BorderLayout.CENTER);
//un altro pannello conterrą i pulsanti OK e CANCEL
Panel contCmd= new Panel();
Button cmdOK= new Button("OK");
cmdOK.addActionListener(this);
cmdOK.setActionCommand("CMD OK");
contCmd.add(cmdOK);
Button cmdCancel= new Button("CANCEL");
cmdCancel.addActionListener(this);
cmdCancel.setActionCommand("CMD CANCEL");
contCmd.add(cmdCancel);
//aggiunge il pannello nella zona inferiore della finestra
add(contCmd, BorderLayout.SOUTH);
//compatta la finestra
pack();
//determina le dimensioni dello schermo
GraphicsEnvironment ge= GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice dv= ge.getDefaultScreenDevice();
GraphicsConfiguration cfgScr= dv.getDefaultConfiguration();
Rectangle dim= cfgScr.getBounds();
//rilegge le dimensioni in seguito al compattamento della finestra
Dimension d= getSize();
//imposta la posizione della finestra centrata rispetto allo schermo.
setLocation((dim.width - d.width)/2, (dim.height - d.height)/2);
setVisible(true);
}
//proprietą per la lettura della risposta utente
public int getResponse()
{
return m_stato;
}
//metodi dell'interfaccia ActionListener
public void actionPerformed(ActionEvent e)
{
String cmd= e.getActionCommand();
if (cmd.compareTo("CMD OK") == 0)
{
m_stato= MyDialog.RESULT_OK;
}
if (cmd.compareTo("CMD CANCEL") == 0)
{
m_stato= MyDialog.RESULT_CANCEL;
}
this.setVisible(false);
}
//fine metodi dell'interfaccia ActionListener
//metodi dell'interfaccia WindowListener
public void windowClosing(WindowEvent e)
{
Dialog w= (Dialog) e.getSource();
w.setVisible(false);
m_stato= m_stato= MyDialog.RESULT_CANCEL;
}
public void windowDeactivated(WindowEvent e)
{
}
public void windowDeiconified(WindowEvent e)
{
}
public void windowActivated(WindowEvent e)
{
}
public void windowIconified(WindowEvent e)
{
}
public void windowClosed(WindowEvent e)
{
}
public void windowOpened(WindowEvent e)
{
}
//fine metodi dell'interfaccia WindowListener
}
|
|