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

Modal dialogs do not properly block

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P1
    • Resolution: Cannot Reproduce
    • Affects Version/s: 1.1.6
    • Fix Version/s: None
    • Component/s: client-libs
    • Labels:
    • Subcomponent:
    • CPU:
      generic
    • OS:
      solaris_2.6

      Description


      tushar.patel@West 1998-09-01
      Opening a new bug, based on discussion with xianfa.deng@Eng. This bug
      may be similar to Bug # 4124096 .

      Also note, there is an escalation to get fix/patch for this problem,
      Esc # 516395.

      For more detail, pl refer to Comments section:

      Here is some code that fails under native and runs under green threads,
      i.e. modal dialogs do not work, under JDK 1.1.6, no Swing used.
      I adapted it from the bug report 4124096.
      Also included is the run script I used.


      /*
       * ModalDialogTest.java
       * Dialog created with modality parameter set to true is not modal on
       * Solaris
       *
       */

      import java.awt.*;
      import java.awt.event.*;

      public class ModalDialogTest extends Panel implements ActionListener {
          Dialog dialog = new Dialog(new Frame(), "Modal Dialog", true);

          public static void main( String[] argv ) {
              new ModalDialogTest();
          }

          public ModalDialogTest() {
          Frame frame = new Frame("Modal Dialog Test");
          Panel controlPanel = new Panel();
          Panel infoPanel = new Panel();
          Button showButton = new Button("Show Modal Dialog");
          Button testButton = new Button("Test");

          frame.setLayout(new BorderLayout());
          infoPanel.setLayout(new GridLayout(0,1));
      // showButton.setOpaque(true);
          showButton.setBackground(Color.yellow);
      // testButton.setOpaque(true);
          testButton.setBackground(Color.pink);
          controlPanel.add(showButton);
          controlPanel.add(testButton);
          infoPanel.add(new Label("Click the \"Show Modal Dialog\" button to display
      a modal Dialog."));
          infoPanel.add(new Label("Click the \"Test\" button to verify dialog
      modality."));
          frame.add(BorderLayout.NORTH, controlPanel);
          frame.add(BorderLayout.SOUTH, infoPanel);
          dialog.setSize(200,200);

          showButton.addActionListener(this);
          testButton.addActionListener(this);

          frame.addWindowListener(new WindowAdapter() {
          public void windowClosing(WindowEvent e) {System.exit(0);}
          public void windowClosed(WindowEvent e) {System.exit(0);}
          });

          frame.pack();
          frame.setSize(450, 120);
          frame.setVisible(true);
                            }

          public void actionPerformed(ActionEvent evt) {
              String command = evt.getActionCommand();

              if (command == "Show Modal Dialog") {
                   System.out.println("*** Invoking JDialog.show() ***");
                   dialog.setLocation(200,200);
                   dialog.show();
              }
              else if (command == "Test") {
                   System.out.println("*** Test ***");
              }
          }
      }



      run script:


      #!/bin/ksh


      unset CLASSPATH
      unset LD_LIBRARY_PATH
      unset JAVA_HOME

      export THREADS_TYPE=${THREADS_FLAG:-native}_threads

      #PROG=$(basename $0)
      ARCH=$(uname -p)

      case $1 in
      -native)
          THREADS_TYPE=native_threads
          shift
          ;;
      -green)
          THREADS_TYPE=green_threads
          shift
          ;;
      esac

      if [ -z "$JAVA_HOME" ]
      then
          export JAVA_HOME=$M1HOME/vod/jre
      fi

      if [ -z "$CLASSPATH" ]
      then
          if [[ $THREADS_TYPE = "native_threads" ]]
          then
              export CLASSPATH=$JAVA_HOME/lib/rt.jar:$JAVA_HOME/lib/i18n.jar:.
              CLASSPATH=$JAVA_HOME/lib/classes.zip:$CLASSPATH
              echo "Native threads"
          else
              export CLASSPATH=$JAVA_HOME/lib/rt.jar:$JAVA_HOME/lib/i18n.jar:.
              echo "Green threads"
          fi
      fi

      export LD_LIBRARY_PATH=$JAVA_HOME/lib/$ARCH/$THREADS_TYPE

      # java interpreter options:
      # -ms16m set heap starting size to 16 Mbytes

      exec $JAVA_HOME/bin/$ARCH/$THREADS_TYPE/jre -ms16m ModalDialogTest



      You will have to change JAVA_HOME to run the script.


      --
      ===============

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              xdengsunw Xianfa Deng (Inactive)
              Reporter:
              duke J. Duke (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                Imported:
                Indexed: