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

Extra window created when app-switch happens using Cmd+Tab or Mouse

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: P3 P3
    • None
    • 7u13
    • client-libs
    • 2d
    • os_x

      FULL PRODUCT VERSION :
      java version " 1.7.0_13 "
      Java(TM) SE Runtime Environment (build 1.7.0_13-b20)
      Java HotSpot(TM) 64-Bit Server VM (build 23.7-b01, mixed mode)

      ADDITIONAL OS VERSION INFORMATION :
      Mac OS X 10.7.5

      EXTRA RELEVANT SYSTEM CONFIGURATION :
      Processor 2.5 GHz Intel Core i5
      Memory 8 GB 1333 MHz DDR3
      Graphics AMD Radeon HD 6630M 256 MB
      Software Mac OS X Lion 10.7.5 (11G63)

      A DESCRIPTION OF THE PROBLEM :
      A new window is created when the user does an app-switch while the native print dialog is showing in Java app.

      REGRESSION. Last worked in version 6u31

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      compile and run the attached test case.
      In the UI click the " Print Dialog " button. This will show the native print dialog.
      now switch to a different app using cmd+Tab or mouse.
      switch back to the app.
      notice the print dialog did not get focus, instead a new window is created at the top left corner of the screen.
      This window does not disappear after the print dialog is closed.

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      Print dialog gets focus
      ACTUAL -
      A new window is created at the top-left corner of the screen, which gets the focus. Print dialog is not in focus.The new window will stay even after the print dialog is closed.

      REPRODUCIBILITY :
      This bug can be reproduced always.

      ---------- BEGIN SOURCE ----------

      import javax.swing.SwingUtilities;
      import java.awt.FlowLayout;
      import java.awt.event.ActionEvent;
      import java.awt.event.ActionListener;
      import java.awt.print.PrinterJob;
      import javax.print.attribute.HashPrintRequestAttributeSet;
      import javax.print.attribute.PrintRequestAttributeSet;
      import javax.print.attribute.standard.DialogTypeSelection;
      import javax.swing.JButton;
      import javax.swing.JFrame;

      public class PrintDialogTestCase extends JFrame {

      public PrintDialogTestCase() {
              this.setTitle( " Example " );
              this.setSize(200, 100);
              this.setLocationRelativeTo(null);
              this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                      
              this.setLayout(new FlowLayout());
              JButton printDialogButton = new JButton( " Print Dialog " );
              printDialogButton.addActionListener(new ActionListener() {
                  public void actionPerformed(ActionEvent event) {
                      final PrintRequestAttributeSet attributes = new HashPrintRequestAttributeSet();
                      attributes.add(DialogTypeSelection.NATIVE);
                      PrinterJob printJob = PrinterJob.getPrinterJob();
                      printJob.printDialog(attributes);

                  }
              });
              this.add(printDialogButton);
              
              JButton exitButton = new JButton( " Exit " );
              exitButton.addActionListener(new ActionListener() {
                  public void actionPerformed(ActionEvent event) {
                      System.exit(0);
                  }
              });
              this.add(exitButton);
          }

          public static void main(String[] args) {
              SwingUtilities.invokeLater(new Runnable() {
                  @Override
                  public void run() {
                      PrintDialogTestCase window = new PrintDialogTestCase();
                      window.setVisible(true);
                  }
              });

          }
      }

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

      CUSTOMER SUBMITTED WORKAROUND :
      None, if you want to use the native print dialogs in your app. Windows.getWindows does not list this new window.

            pchelko Petr Pchelko (Inactive)
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: