Пример #1
0
  private void setupActions(final JTable table) {
    super.addRefreshIntervalActionsToSingleScheduledRefreshable();

    // assign popup menu:
    table.addMouseListener(new PopupMenuListener(this.popupTimelimit, table));

    // add mouse listeners for double click in table:
    table.addMouseListener(new DoubleClickListener(timelimittaskview));

    final Action actRefresh =
        new CommonAbstractAction(
            Icons.getInstance().getIconRefresh16(),
            getSpringLocaleDelegate()
                .getMessage("TimelimitTaskController.10", "Fristenliste aktualisieren")) {

          @Override
          public void actionPerformed(ActionEvent ev) {
            TimelimitTaskController.this.cmdRefreshTimelimitTaskView();
          }
        };

    actPerformTask.setEnabled(false);
    actRemoveTask.setEnabled(false);
    actFinishTask.setEnabled(false);

    timelimittaskview.getRefreshButton().setAction(actRefresh);
    timelimittaskview.getPerformMenuItem().setAction(actPerformTask);
    timelimittaskview.getRemoveMenuItem().setAction(actRemoveTask);
    timelimittaskview.getFinishButton().setAction(actFinishTask);
    timelimittaskview.getPrintMenuItem().setAction(actPrint);

    // use only action listener for "show finished" button:
    timelimittaskview.btnShowAllTasks.addActionListener(actRefresh);

    setRefreshIntervalForSingleViewRefreshable(readIntervalTasksFromPreferences());

    table
        .getSelectionModel()
        .addListSelectionListener(
            new ListSelectionListener() {
              @Override
              public void valueChanged(ListSelectionEvent ev) {
                if (!ev.getValueIsAdjusting()) {
                  final ListSelectionModel lsm = (ListSelectionModel) ev.getSource();
                  final boolean bSelectionEmpty = lsm.isSelectionEmpty();
                  final Boolean bFinished;
                  final Boolean bHasGenericObject;

                  if (bSelectionEmpty) {
                    bFinished = null;
                    bHasGenericObject = null;
                  } else {
                    final int iSelectedRow =
                        TimelimitTaskController.this.timelimittaskview.getTable().getSelectedRow();
                    CollectableTimelimitTask taskclct =
                        TimelimitTaskController.this
                            .timelimittaskview
                            .getTimelimitTaskTableModel()
                            .getCollectable(iSelectedRow);
                    final TimelimitTaskVO taskvo = taskclct.getTimelimitTaskVO();
                    bFinished = Boolean.valueOf(taskvo.getCompleted() != null);
                    bHasGenericObject = Boolean.valueOf(taskvo.getGenericObjectId() != null);
                  }

                  final boolean bTaskSelected = !bSelectionEmpty;
                  final boolean bFinishedTaskSelected = bTaskSelected && bFinished.booleanValue();

                  actRemoveTask.setEnabled(bTaskSelected);
                  actPerformTask.setEnabled(bTaskSelected && bHasGenericObject.booleanValue());
                  actFinishTask.setEnabled(bTaskSelected);
                  timelimittaskview.getFinishButton().setSelected(bFinishedTaskSelected);
                }
              }
            });
  }