BlackSheep Suspended 1575 Posts user info edit post |
I have an application that goes out and logs into a data base using "login" method below. While this app is logging in, i want to show a status Dialog which implements Runnable (also described below).
The problem I am having is that the Dialog is not fully drawn until after the login thread is executed. I can't figure out why so any help would be appreciated.
public class Proteus extends Frame { . . . public void login(Login myLogin, Frame parentFrame) {
try {
if (myLogin.loginName == null || myLogin.password == null || myLogin.serverAddress == null) {
//myLogin.readConfig(); myLogin.show(); myLogin.hide();
}
//**************Problem is Here********************* //When this is enclosed in a thread, it is not fully drawn.
try{ Thread myThread= new Thread(new StatusBar(parentFrame, true)); myThread.start(); }catch(Exception e){ System.out.println(e);
}
//**************End of Problem********************* System.out.println("serverAddress " + myLogin.getProteusServer());
service = ProteusAPIUtils.connect(myLogin.getProteusServer(), true, "C:\\Cert\\client.ks");// For dynamic user // myIndicator.updateStatus("Sending user info...");
// status.show();
try { System.out.println("myLogin " + myLogin.getLoginName()); service.login(myLogin.getLoginName(), myLogin.getPassword());//For dynamic user
} catch (IOException e) { // myIndicator.updateStatus(e.getMessage()); }
// Get an existing configuration using // getEntityByName( long parentId, String name, String type ) // myIndicator.updateStatus("Now Logged In.");
//dlg.setVisible(false);
//new JOptionPane().showMessageDialog(this, "Now Logged In");
System.out.println("Now Logged In"); } catch (ServiceException g) { // myIndicator.updateStatus(g.getMessage()); //new JOptionPane().showMessageDialog(this, "Unable To Login");
System.out.println("Unable To Login"); }
}
public class StatusBar extends JDialog implements Runnable{
/** Creates new form StatusBar */ public StatusBar(java.awt.Frame parent, boolean modal) { super(parent, modal); initComponents(); this.setLocationRelativeTo(parent); //this.show(); } . . . public void run() {
StatusBar dialog = new StatusBar(new java.awt.Frame(), true); dialog.addWindowListener(new java.awt.event.WindowAdapter() { public void windowClosing(java.awt.event.WindowEvent e) { System.exit(0); } }); dialog.setVisible(true); }
5/10/2011 11:20:13 AM |