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


Java JBList.addListSelectionListener方法代碼示例

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


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

示例1: createList

import com.intellij.ui.components.JBList; //導入方法依賴的package包/類
protected JBList createList() {
  final JBList list = new JBList(myListModel);
  list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
  list.setEmptyText(getListEmptyText());
  list.setCellRenderer(createListCellRenderer());

  installListActions(list);
  list.addListSelectionListener(new ListSelectionListener() {
    @Override
    public void valueChanged(ListSelectionEvent event) {
      if (event.getValueIsAdjusting()) return;
      if (isMergeListItemsRunning()) return;
      if (myUpdateSelectedPathModeActive.get()) return;
      updateRightComponent(true);
    }
  });
  ScrollingUtil.installActions(list);

  //    installSpeedSearch(list); // TODO

  installEditOnDoubleClick(list);
  return list;
}
 
開發者ID:jskierbi,項目名稱:intellij-ce-playground,代碼行數:24,代碼來源:FinderRecursivePanel.java

示例2: assertMerge

import com.intellij.ui.components.JBList; //導入方法依賴的package包/類
private void assertMerge(String[] initialItems,
                         int initialSelectionIdx,
                         int selectionIndexAfterMerge,
                         String... itemsToMerge) {

  final StringFinderRecursivePanel panel = createStringPanel(initialItems);
  disposeOnTearDown(panel);

  JBList list = panel.getList();
  CollectionListModel<String> model = panel.getListModel();

  list.setSelectedIndex(initialSelectionIdx);

  ListSelectionListener selectionListener = new ListSelectionListener() {
    @Override
    public void valueChanged(ListSelectionEvent e) {
      if (panel.isMergeListItemsRunning()) return;
      assertTrue("selection changed", false);
    }
  };
  list.addListSelectionListener(selectionListener);

  panel.merge(model, list, Arrays.asList(itemsToMerge));
  assertEquals(itemsToMerge.length, model.getSize());
  for (int i = 0; i < itemsToMerge.length; i++) {
    assertEquals("idx:" + i + " " + toString(model.getItems(), ","), itemsToMerge[i], model.getElementAt(i));
  }
  assertEquals(toString(model.getItems(), ","), selectionIndexAfterMerge, list.getSelectedIndex());

  list.removeListSelectionListener(selectionListener);
}
 
開發者ID:jskierbi,項目名稱:intellij-ce-playground,代碼行數:32,代碼來源:FinderRecursivePanelListModelMergeTest.java

示例3: createCenterPanel

import com.intellij.ui.components.JBList; //導入方法依賴的package包/類
@Nullable
@Override
protected JComponent createCenterPanel() {
  final JBList list = new JBList();
  list.setModel(getListModel(myFiles));
  list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
  list.addListSelectionListener(new ListSelectionListener() {
    @Override
    public void valueChanged(ListSelectionEvent e) {
      myChosenFile = (FileListItem)list.getSelectedValue();
    }
  });
  return ListWithFilter.wrap(list);
}
 
開發者ID:jskierbi,項目名稱:intellij-ce-playground,代碼行數:15,代碼來源:ChooseFromFileListDialog.java

示例4: prepareProjectSettings

import com.intellij.ui.components.JBList; //導入方法依賴的package包/類
@SuppressWarnings("unchecked")
private void prepareProjectSettings(@NotNull SystemSettings s) {
  myProjectsModel = new DefaultListModel();
  myProjectsList = new JBList(myProjectsModel);
  myProjectsList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

  addTitle(ExternalSystemBundle.message("settings.title.linked.projects", myExternalSystemId.getReadableName()));
  myComponent.add(new JBScrollPane(myProjectsList), ExternalSystemUiUtil.getFillLineConstraints(1));

  addTitle(ExternalSystemBundle.message("settings.title.project.settings"));
  List<ProjectSettings> settings = ContainerUtilRt.newArrayList(s.getLinkedProjectsSettings());
  myProjectsList.setVisibleRowCount(Math.max(3, Math.min(5, settings.size())));
  ContainerUtil.sort(settings, new Comparator<ProjectSettings>() {
    @Override
    public int compare(ProjectSettings s1, ProjectSettings s2) {
      return getProjectName(s1.getExternalProjectPath()).compareTo(getProjectName(s2.getExternalProjectPath()));
    }
  });

  myProjectSettingsControls.clear();
  for (ProjectSettings setting : settings) {
    ExternalSystemSettingsControl<ProjectSettings> control = createProjectSettingsControl(setting);
    control.fillUi(myComponent, 1);
    myProjectsModel.addElement(getProjectName(setting.getExternalProjectPath()));
    myProjectSettingsControls.add(control);
    if (control instanceof AbstractExternalProjectSettingsControl<?>) {
      ((AbstractExternalProjectSettingsControl)control).setCurrentProject(myProject);
    }
    control.showUi(false);
  }

  myProjectsList.addListSelectionListener(new ListSelectionListener() {
    @SuppressWarnings("unchecked")
    @Override
    public void valueChanged(ListSelectionEvent e) {
      if (e.getValueIsAdjusting()) {
        return;
      }
      int i = myProjectsList.getSelectedIndex();
      if (i < 0) {
        return;
      }
      if (myActiveProjectSettingsControl != null) {
        myActiveProjectSettingsControl.showUi(false);
      }
      myActiveProjectSettingsControl = myProjectSettingsControls.get(i);
      myActiveProjectSettingsControl.showUi(true);
    }
  });

  
  if (!myProjectsModel.isEmpty()) {
    myProjectsList.setSelectedIndex(0);
  }
}
 
開發者ID:jskierbi,項目名稱:intellij-ce-playground,代碼行數:56,代碼來源:AbstractExternalSystemConfigurable.java

示例5: NamedObjectPanel

import com.intellij.ui.components.JBList; //導入方法依賴的package包/類
public NamedObjectPanel(@NotNull Project project, @NotNull String moduleName, @NotNull BuildFileKey buildFileKey,
                        @NotNull String newItemName, @NotNull PanelGroup panelGroup) {
  super(project, moduleName);
  myBuildFileKey = buildFileKey;
  myNewItemName = newItemName;
  myPanelGroup = panelGroup;
  myListModel = new SortedListModel();
  myObjectName.getDocument().addDocumentListener(this);

  myList = new JBList();
  myList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
  myList.addListSelectionListener(this);
  myList.setModel(myListModel);
  myList.setCellRenderer(new DefaultListCellRenderer() {
    @Override
    public Component getListCellRendererComponent(JList jList, Object o, int i, boolean b, boolean b2) {
      return super.getListCellRendererComponent(jList, ((NamedObject)o).getName(), i, b, b2);
    }
  });
  ToolbarDecorator decorator = ToolbarDecorator.createDecorator(myList);
  decorator.setAddAction(new AnActionButtonRunnable() {
    @Override
    public void run(AnActionButton button) {
      updateCurrentObjectFromUi();
      addObject();
    }
  });
  decorator.setRemoveAction(new AnActionButtonRunnable() {
    @Override
    public void run(AnActionButton anActionButton) {
      removeObject();
    }
  });
  decorator.setRemoveActionUpdater(new AnActionButtonUpdater() {
    @Override
    public boolean isEnabled(AnActionEvent e) {
      NamedObject selectedObject = getSelectedObject();
      return selectedObject != null && !(selectedObject instanceof UndeletableNamedObject);
    }
  });
  decorator.disableUpDownActions();
  mySplitPane.setLeftComponent(decorator.createPanel());
  mySplitPane.setDividerLocation(200);
  myRightPane.setBorder(IdeBorderFactory.createBorder());

  myNameWarning.setForeground(JBColor.RED);
}
 
開發者ID:jskierbi,項目名稱:intellij-ce-playground,代碼行數:48,代碼來源:NamedObjectPanel.java

示例6: init

import com.intellij.ui.components.JBList; //導入方法依賴的package包/類
private JComponent init() {
  final JPanel result = new JPanel(new BorderLayout());

  myLogModel = new DefaultListModel();
  myLog = new JBList(myLogModel);
  myLog.setCellRenderer(new FocusElementRenderer());


  myAllocation = new JEditorPane();
  final DefaultCaret caret = new DefaultCaret();
  myAllocation.setCaret(caret);
  caret.setUpdatePolicy(DefaultCaret.NEVER_UPDATE);
  myAllocation.setEditable(false);


  final Splitter splitter = new Splitter(true);
  splitter.setFirstComponent(ScrollPaneFactory.createScrollPane(myLog));
  splitter.setSecondComponent(ScrollPaneFactory.createScrollPane(myAllocation));

  myLog.addListSelectionListener(this);

  KeyboardFocusManager.getCurrentKeyboardFocusManager().addPropertyChangeListener(this);

  result.add(splitter, BorderLayout.CENTER);


  final DefaultActionGroup group = new DefaultActionGroup();
  group.add(new ClearAction());

  result.add(ActionManager.getInstance().createActionToolbar(ActionPlaces.UNKNOWN, group, true).getComponent(), BorderLayout.NORTH);

  return result;
}
 
開發者ID:jskierbi,項目名稱:intellij-ce-playground,代碼行數:34,代碼來源:FocusDebugger.java


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