public EditableList(String emptyLabel, Supplier<T> onAdd, Function<T, T> onEdit) { this.onAdd = onAdd; this.onEdit = onEdit; list = new JBList(); list.getEmptyText().setText(emptyLabel); list.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent evt) { if (evt.getClickCount() == 2) { editEntry(); } } }); model = new CollectionListModel<>(new ArrayList<>()); list.setModel(model); ToolbarDecorator toolbarDecorator = ToolbarDecorator.createDecorator(list) .setEditActionName("Edit") .setEditAction(e -> editEntry()) .setAddAction(new AddEntryAction()) .setRemoveAction(new RemoveEntryAction()) .disableUpDownActions(); listPanel = new JPanel(new BorderLayout()); listPanel.add(toolbarDecorator.createPanel(), BorderLayout.CENTER); }
jbList.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) {
list.setCellRenderer(usersListCellRenderer); list.addMouseListener( new MouseAdapter() { @Override
serverList = new JBList(); serverList.getEmptyText().setText(LABEL_NO_SERVERS); serverList.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent evt) {
private void createProjectList() { projectList = new JBList(); projectList.setEmptyText("No projects found in the selected SonarQube Server"); projectList.setCellRenderer(new ProjectListRenderer()); projectList.addListSelectionListener(new ProjectItemListener()); projectList.addMouseListener(new ProjectMouseListener()); projectList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); projectList.setVisibleRowCount(10); projectList.setBorder(IdeBorderFactory.createBorder()); Convertor<Object, String> convertor = o -> { RemoteProject project = (RemoteProject) o; return project.getName() + " " + project.getKey(); }; new ListSpeedSearch(projectList, convertor); scrollPane = new JBScrollPane(projectList); }