當前位置: 首頁>>代碼示例>>Java>>正文


Java Application.invokeLater方法代碼示例

本文整理匯總了Java中com.intellij.openapi.application.Application.invokeLater方法的典型用法代碼示例。如果您正苦於以下問題:Java Application.invokeLater方法的具體用法?Java Application.invokeLater怎麽用?Java Application.invokeLater使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在com.intellij.openapi.application.Application的用法示例。


在下文中一共展示了Application.invokeLater方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: beforeApplicationLoaded

import com.intellij.openapi.application.Application; //導入方法依賴的package包/類
@Override
public void beforeApplicationLoaded(@NotNull Application application, @NotNull String configPath) {
  // Invoke later is necessary to make showWarning work.
  // setFrameIcon is called to change icon of welcome screen and it is unclear
  // if invoke later can be invoked to early (in the future) so setFrameIcon
  // is called again on ClassicIcon#projectOpened just in case.
  // Important here is only setDockIcon and this would work without invoke later also.
  application.invokeLater(new Runnable() {
    @Override
    public void run() {
      if (SystemInfo.isMac) {
        setDockIcon();
      } else {
        ClassicIcon.setFrameIcon(null);
      }
    }
  });
}
 
開發者ID:retomerz,項目名稱:classic-icon-idea,代碼行數:19,代碼來源:AppLoader.java

示例2: runOrInvokeLaterAboveProgress

import com.intellij.openapi.application.Application; //導入方法依賴的package包/類
public static void runOrInvokeLaterAboveProgress(final Runnable command, @Nullable final ModalityState modalityState, @NotNull final Project project) {
  final Application application = ApplicationManager.getApplication();
  if (application.isDispatchThread()) {
    command.run();
  } else {
    final ProgressIndicator pi = ProgressManager.getInstance().getProgressIndicator();
    if (pi != null) {
      execute(pi);
      application.invokeLater(command, pi.getModalityState(), new Condition() {
        @Override
        public boolean value(Object o) {
          return (! project.isOpen()) || project.isDisposed();
        }
      });
    } else {
      final ModalityState notNullModalityState = modalityState == null ? ModalityState.NON_MODAL : modalityState;
      application.invokeLater(command, notNullModalityState, project.getDisposed());
    }
  }
}
 
開發者ID:jskierbi,項目名稱:intellij-ce-playground,代碼行數:21,代碼來源:WaitForProgressToShow.java

示例3: doSetPresentation

import com.intellij.openapi.application.Application; //導入方法依賴的package包/類
private static void doSetPresentation(@Nullable final Icon icon,
                                      @NotNull final XValuePresentation presentation,
                                      final boolean hasChildren,
                                      final ConfigurableXValueNode node) {
  Application application = ApplicationManager.getApplication();
  if (application.isDispatchThread()) {
    node.applyPresentation(icon, presentation, hasChildren);
  }
  else {
    Runnable updater = new Runnable() {
      @Override
      public void run() {
        node.applyPresentation(icon, presentation, hasChildren);
      }
    };
    if (node instanceof XDebuggerTreeNode) {
      ((XDebuggerTreeNode)node).invokeNodeUpdate(updater);
    }
    else {
      application.invokeLater(updater);
    }
  }
}
 
開發者ID:jskierbi,項目名稱:intellij-ce-playground,代碼行數:24,代碼來源:XValueNodePresentationConfigurator.java

示例4: show

import com.intellij.openapi.application.Application; //導入方法依賴的package包/類
private static void show(final Project project, final String message, final MessageType type, final boolean showOverChangesView,
                         @Nullable final NamedRunnable[] notificationListener) {
  final Application application = ApplicationManager.getApplication();
  if (application.isHeadlessEnvironment()) return;
  final Runnable showErrorAction = new Runnable() {
    public void run() {
      new VcsBalloonProblemNotifier(project, message, type, showOverChangesView, notificationListener).run();
    }
  };
  if (application.isDispatchThread()) {
    showErrorAction.run();
  }
  else {
    application.invokeLater(showErrorAction);
  }
}
 
開發者ID:jskierbi,項目名稱:intellij-ce-playground,代碼行數:17,代碼來源:VcsBalloonProblemNotifier.java

示例5: invokeListeners

import com.intellij.openapi.application.Application; //導入方法依賴的package包/類
private void invokeListeners() {
  Runnable invokeListenersTask = new Runnable() {
    @Override
    public void run() {
      updateContents();
      for (BuildVariantSelectionChangeListener listener : myBuildVariantSelectionChangeListeners) {
        listener.buildVariantsConfigChanged();
      }
    }
  };

  Application application = ApplicationManager.getApplication();
  if (application.isUnitTestMode()) {
    invokeListenersTask.run();
  }
  else {
    application.invokeLater(invokeListenersTask);
  }
}
 
開發者ID:jskierbi,項目名稱:intellij-ce-playground,代碼行數:20,代碼來源:BuildVariantView.java

示例6: showBalloon

import com.intellij.openapi.application.Application; //導入方法依賴的package包/類
public void showBalloon(@NotNull String title,
                        @NotNull String text,
                        @NotNull NotificationType type,
                        @NotNull NotificationGroup group,
                        @Nullable NotificationListener listener) {
  final Notification notification = group.createNotification(title, text, type, listener);
  Runnable notificationTask = new Runnable() {
    @Override
    public void run() {
      if (!myProject.isDisposed() && myProject.isOpen()) {
        Notification old = myNotification;
        if (old != null) {
          boolean similar = Objects.equal(notification.getContent(), old.getContent());
          if (similar) {
            old.expire();
          }
        }
        myNotification = notification;
        notification.notify(myProject);
      }
    }
  };
  Application application = ApplicationManager.getApplication();
  if (application.isDispatchThread()) {
    notificationTask.run();
  }
  else {
    application.invokeLater(notificationTask);
  }
}
 
開發者ID:jskierbi,項目名稱:intellij-ce-playground,代碼行數:31,代碼來源:AndroidGradleNotification.java

示例7: executeOnEdt

import com.intellij.openapi.application.Application; //導入方法依賴的package包/類
public static void executeOnEdt(boolean synchronous, @NotNull Runnable task) {
  final Application app = ApplicationManager.getApplication();
  if (app.isDispatchThread()) {
    task.run();
    return;
  }
  
  if (synchronous) {
    app.invokeAndWait(task, ModalityState.defaultModalityState());
  }
  else {
    app.invokeLater(task, ModalityState.defaultModalityState());
  }
}
 
開發者ID:jskierbi,項目名稱:intellij-ce-playground,代碼行數:15,代碼來源:ExternalSystemApiUtil.java

示例8: startProcessing

import com.intellij.openapi.application.Application; //導入方法依賴的package包/類
private boolean startProcessing() {
  LOG.assertTrue(Thread.holdsLock(myQueue));

  if (isProcessing || !myStarted) {
    return false;
  }
  isProcessing = true;
  final T item = myQueue.removeFirst();
  final Runnable runnable = new Runnable() {
    @Override
    public void run() {
      if (myDeathCondition.value(null)) return;
      runSafely(new Runnable() {
        @Override
        public void run() {
          myProcessor.consume(item, myContinuationContext);
        }
      });
    }
  };
  final Application application = ApplicationManager.getApplication();
  if (myThreadToUse == ThreadToUse.AWT) {
    final ModalityState state = myModalityState.remove(new MyOverrideEquals(item));
    if (state != null) {
      application.invokeLater(runnable, state);
    }
    else {
      application.invokeLater(runnable);
    }
  }
  else {
    application.executeOnPooledThread(runnable);
  }
  return true;
}
 
開發者ID:jskierbi,項目名稱:intellij-ce-playground,代碼行數:36,代碼來源:QueueProcessor.java

示例9: runInDispatchedThread

import com.intellij.openapi.application.Application; //導入方法依賴的package包/類
private static void runInDispatchedThread(@NotNull Runnable r, boolean blocking) {
  Application application = ApplicationManager.getApplication();
  if (application.isDispatchThread()) {
    r.run();
  }
  else if (blocking) {
    application.invokeAndWait(r, ModalityState.defaultModalityState());
  }
  else {
    application.invokeLater(r);
  }
}
 
開發者ID:jskierbi,項目名稱:intellij-ce-playground,代碼行數:13,代碼來源:AndroidRunningState.java

示例10: invokeLaterIfNeeded

import com.intellij.openapi.application.Application; //導入方法依賴的package包/類
private static void invokeLaterIfNeeded(Application application, DumbAwareRunnable runnable) {
  if (application.isDispatchThread()) {
    runnable.run();
  }
  else {
    application.invokeLater(runnable, ModalityState.any());
  }
}
 
開發者ID:jskierbi,項目名稱:intellij-ce-playground,代碼行數:9,代碼來源:DumbServiceImpl.java

示例11: run

import com.intellij.openapi.application.Application; //導入方法依賴的package包/類
@Override
public final void run(@NotNull ProgressIndicator indicator) {
  execute(indicator);
  if (myCallInAwtAfterExecution != null) {
    Application application = ApplicationManager.getApplication();
    if (application.isUnitTestMode()) {
      myCallInAwtAfterExecution.run();
    }
    else {
      application.invokeLater(myCallInAwtAfterExecution, application.getDefaultModalityState());
    }
  }
}
 
開發者ID:jskierbi,項目名稱:intellij-ce-playground,代碼行數:14,代碼來源:GitBrancherImpl.java

示例12: invokeOnEdt

import com.intellij.openapi.application.Application; //導入方法依賴的package包/類
public static void invokeOnEdt(Runnable runnable, @Nullable Condition expired) {
  Application application = ApplicationManager.getApplication();
  if (application.isDispatchThread()) {
    //noinspection unchecked
    if (expired == null || !expired.value(null)) {
      runnable.run();
    }
  }
  else if (expired == null) {
    application.invokeLater(runnable);
  }
  else {
    application.invokeLater(runnable, expired);
  }
}
 
開發者ID:jskierbi,項目名稱:intellij-ce-playground,代碼行數:16,代碼來源:AppUIUtil.java

示例13: invokeLaterIfNeededOnSyncPublisher

import com.intellij.openapi.application.Application; //導入方法依賴的package包/類
public static <T> void invokeLaterIfNeededOnSyncPublisher(final Project project, final Topic<T> topic, final Consumer<T> listener) {
  final Application application = ApplicationManager.getApplication();
  final Runnable runnable = createPublisherRunnable(project, topic, listener);
  if (application.isDispatchThread()) {
    runnable.run();
  } else {
    application.invokeLater(runnable);
  }
}
 
開發者ID:jskierbi,項目名稱:intellij-ce-playground,代碼行數:10,代碼來源:MessageBusUtil.java

示例14: updatePanel

import com.intellij.openapi.application.Application; //導入方法依賴的package包/類
public void updatePanel(@Nullable final String replacementContent, @Nullable final List<IpnbOutputCell> outputContent) {
  final Application application = ApplicationManager.getApplication();
  application.invokeLater(new Runnable() {
    @Override
    public void run() {
      if (replacementContent != null) {
        myCell.setSource(Arrays.asList(StringUtil.splitByLinesKeepSeparators(replacementContent)));
        application.runWriteAction(new Runnable() {
          @Override
          public void run() {
            myCodeSourcePanel.getEditor().getDocument().setText(replacementContent);
          }
        });
      }
      myCell.removeCellOutputs();
      myViewPanel.removeAll();

      final JPanel panel = new JPanel(new GridBagLayout());
      panel.setBackground(IpnbEditorUtil.getBackground());
      addPromptPanel(panel, myCell.getPromptNumber(), IpnbEditorUtil.PromptType.In, myCodeSourcePanel);
      myViewPanel.add(panel);
      isRunning = false;
      if (outputContent != null) {
        for (IpnbOutputCell output : outputContent) {
          myCell.addCellOutput(output);
          addOutputPanel(myViewPanel, output, true);
        }
      }

      final IpnbFilePanel filePanel = myParent.getIpnbFilePanel();
      filePanel.revalidate();
      filePanel.repaint();
    }
  });
}
 
開發者ID:jskierbi,項目名稱:intellij-ce-playground,代碼行數:36,代碼來源:IpnbCodePanel.java

示例15: runNotUnderWriteAction

import com.intellij.openapi.application.Application; //導入方法依賴的package包/類
private static void runNotUnderWriteAction(@NotNull Project project, @NotNull Runnable runnable) {
  Application application = ApplicationManager.getApplication();
  if (application.isWriteAccessAllowed()) {
    application.invokeLater(runnable, project.getDisposed());
  }
  else {
    runnable.run();
  }
}
 
開發者ID:jskierbi,項目名稱:intellij-ce-playground,代碼行數:10,代碼來源:SvnFileSystemListener.java


注:本文中的com.intellij.openapi.application.Application.invokeLater方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。