Såhär kan man göra,
public class DlgLogin extends JDialog implements ActionListener
{
public DlgLogin(JFrame parent)
{
super(parent,"JRC - Login",true);
setSize(290,210);
Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();
setLocation(screenSize.width/2-145,screenSize.height/4);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
((DlgLogin)e.getSource()).hide();
}
});
}
public Connection showDialog()
{
show();
return(conn);
}
public void actionPerformed(ActionEvent arg)
{
if(arg.getSource()==btnCancel)
{
conn=null;
this.hide();
}
}
}
//Klassen som visar DlgLogin
public class FrmClient extends JFrame implements ActionListener
{
private DlgLogin dlgLogin=new DlgLogin(this);
public void actionPerformed(ActionEvent arg)
{
if(arg.getSource() instanceof JMenuItem)
{
String label=((JMenuItem)arg.getSource()).getLabel();
if((label.equals("Connect..."))&&(!cmc.isConnected()))
{
Connection conn=dlgLogin.showDialog();
}
}
}
}
När this.hide() anroppas så avslutas funktionen showDialog och den retunerar det som den ska retunera.
/Viktor