Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4910760

Dialogs do not get layed out properly when run on dualhead system (Xinerama)

XMLWordPrintable

    • b30
    • x86
    • linux



      Name: rmT116609 Date: 08/21/2003


      FULL PRODUCT VERSION :
      java version "1.4.2"
      Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2-b28)
      Java HotSpot(TM) Client VM (build 1.4.2-b28, mixed mode)


      FULL OS VERSION :
      Linux pandora-stfs 2.4.21 #1 �ri J�l 1 14:40:06 GMT 2003 i686 GNU/Linux

      EXTRA RELEVANT SYSTEM CONFIGURATION :
      KDE 3.1.3
      XFree86 v 4.2.1 (has also been reported on X v 4.3)

      A DESCRIPTION OF THE PROBLEM :
      Dialogs (or decendants of the Dialog class such as JDialog) do not get layed out properly when using a dual head system with Xinerama on linux.

      Frames are allright but dialogs do not get layed out after the initial layout.

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      You need a linux box setup with dual monitors. I use Xinerama for my installation but it's uncertain if that is causing the problem, the problem may persist even without Xinerama.

      Compile and run the Java application provided with this bug report.

      Press the button that appears on the main frame. That should produce a dialog window. Resize that dialog.

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      The red label of the dialog should be resized to fit the whole dialog after resizing.
      ACTUAL -
      The red label is added to the dialog using the BorderLayout.CENTER constraint and should therefore be resized as the dialog is resized but that doesn't happen.

      ERROR MESSAGES/STACK TRACES THAT OCCUR :
      There are no error messages.

      REPRODUCIBILITY :
      This bug can be reproduced always.

      ---------- BEGIN SOURCE ----------
      import java.awt.*;
      import java.awt.event.*;

      /**
       * Created by IntelliJ IDEA.
       * User: stefan
       * Date: 21.8.2003
       * Time: 14:01:14
       * To change this template use Options | File Templates.
       */
      public class DialogTester extends Frame
      {
          public DialogTester()
          {
              super( "DialogTester" );
              super.addWindowListener(
                      new WindowAdapter(){
                          public void windowClosing( WindowEvent e )
                          {
                              System.exit(0);
                          }
                      }
              );
              Button b = new Button( "display dialog" );
              b.addActionListener( new ActionListener(){
                  public void actionPerformed( ActionEvent e )
                  {
                      Dialog dlg = new Dialog( DialogTester.this, "TestDialog", true );
                      dlg.setLayout( new BorderLayout() );
                      Label l = new Label( "Test Label" );
                      l.setBackground( Color.red );
                      dlg.add( l, BorderLayout.CENTER );
                      dlg.pack();
                      dlg.show();
                  }
              });
              add( b );
          }

          public static void main( String[] args )
          {
              DialogTester t = new DialogTester();
              t.pack();
              t.show();
          }
      }

      ---------- END SOURCE ----------

      (Incident Review ID: 200010)
      ======================================================================

            bchristi Brent Christian
            rmandalasunw Ranjith Mandala (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: