Christian,

Here is the code that I use.  I added the "toFront()" and changed "show()" to
"setVisible(true)", but this has no effect.    Again, I don't have any problem if
I simply start a Swing applicaton on NT.  The problem arises when we have an
already running non-GUI TCP/IP Java server application which is request to start
a Swing application.  The problem occurs whether or not the the MSDOS window
containing the TCP/IP Java server is maximized and has the focus or not.


Cynthia Jeness

----------------------------------------------------------------------------------------

   /**
    * This method sizes the frame and shows it.  The window is
    * sized at a maximum of MAX_WINDOW_WIDTH X MAX_WINDOW_HEIGHT and
    * centered on the screen.
    */
   public void showFrame() {

      // If any error during initialization, then return.
      if (initError)
         return;

      // Size the frame and display it in the middle of the screen.
      Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
      int width = Math.min(Constants.MAX_WINDOW_WIDTH, screen.width);
      int height = Math.min(Constants.MAX_WINDOW_HEIGHT, screen.height);
      int left = (screen.width - width)/2;
      int top = (screen.height - height)/2;
      setBounds(left, top, width, height);

      // Trying to force visibility on Windows.
      toFront();
      setVisible(true);
      //show();
      windowOpen = true;
   }

Christian Pesch wrote:

> Cynthia Jeness schrieb:
>
> > We have a legacy GUI application which communicates with a Java TCP/IP
> > server application running on the same computer.  Depending on the type
> > of message received, we load a JFrame which contains a JTabbedPane.  The
> > application is launched correctly.  However, at least under NT, it is
> > minimized and, thus, you must select it from the Taskbar to actually see
> > it.  The application is launched correctly under OS/2.  In the case of
> > NT, we are using the latest JDK 1.3.1 from Sun.  I have tried explicitly
> > setting the state of the frame to NORMAL.  But this has no effect.
>
> I use the following code sequence to open frames and bring them to front
> with JDK 1.3.1 Windows NT and 2000:
>
> if(System.getProperty("os.name").startsWith("Windows")) {
>   Gui.getLog().write(Log.LEVEL_INFO, "Enabled Windows window to front patch");
>
>    enableWindowsPatch = true;
> }
>
> Then opening does this
>
>     // workaround for windows to bring frame to front
>     if(enableWindowsPatch)
>       frame.toFront();
>
>     frame.setVisible(true);
>
> > Does
> > anyone have any suggestions about how to get the application launched in
> > a normal size.  If I launch it from the command line on NT rather than
> > from an already running Java application, then the window is displayed
> > correctly on NT.
>
> Please extract your code sequence to show a frame. May that shows up
> an error.
>
> --
> Christian Pesch - Software Engineer
> CoreMedia AG - http://www.coremedia.com - 0700-COREMEDIA
> Visit us on the Systems, München and Orbit, Basel


_______________________________________________
Swing mailing list
[EMAIL PROTECTED]
http://eos.dk/mailman/listinfo/swing

Reply via email to