コード例 #1
0
  @Override
  public void setModalBlocked(Dialog blocker, boolean blocked) {
    synchronized (getPeerTreeLock()) {
      if (blocked && blocker.getPeer() instanceof LWWindowPeer) {
        this.blocker = (LWWindowPeer) blocker.getPeer();
      } else {
        this.blocker = null;
      }
    }

    platformWindow.setModalBlocked(blocked);
  }
コード例 #2
0
 @SuppressWarnings("deprecation")
 public void setModalBlocked(Dialog dialog, boolean blocked) {
   synchronized (
       ((Component) getTarget()).getTreeLock()) // State lock should always be after awtLock
   {
     // use WWindowPeer instead of WDialogPeer because of FileDialogs and PrintDialogs
     WWindowPeer blockerPeer = (WWindowPeer) dialog.getPeer();
     if (blocked) {
       modalBlocker = blockerPeer;
       // handle native dialogs separately, as they may have not
       // got HWND yet; modalEnable/modalDisable is called from
       // their setHWnd() methods
       if (blockerPeer instanceof WFileDialogPeer) {
         ((WFileDialogPeer) blockerPeer).blockWindow(this);
       } else if (blockerPeer instanceof WPrintDialogPeer) {
         ((WPrintDialogPeer) blockerPeer).blockWindow(this);
       } else {
         modalDisable(dialog, blockerPeer.getHWnd());
       }
     } else {
       modalBlocker = null;
       if (blockerPeer instanceof WFileDialogPeer) {
         ((WFileDialogPeer) blockerPeer).unblockWindow(this);
       } else if (blockerPeer instanceof WPrintDialogPeer) {
         ((WPrintDialogPeer) blockerPeer).unblockWindow(this);
       } else {
         modalEnable(dialog);
       }
     }
   }
 }