示例#1
0
  @Override
  public void setModel(final TableModel model) {
    super.setModel(model);

    if (model instanceof SortableColumnModel) {
      final SortableColumnModel sortableModel = (SortableColumnModel) model;
      if (sortableModel.isSortable()) {
        final TableRowSorter<TableModel> rowSorter = createRowSorter(model);
        rowSorter.setSortsOnUpdates(isSortOnUpdates());
        setRowSorter(rowSorter);
        final RowSorter.SortKey sortKey = sortableModel.getDefaultSortKey();
        if (sortKey != null
            && sortKey.getColumn() >= 0
            && sortKey.getColumn() < model.getColumnCount()) {
          if (sortableModel.getColumnInfos()[sortKey.getColumn()].isSortable()) {
            rowSorter.setSortKeys(Arrays.asList(sortKey));
          }
        }
      } else {
        final RowSorter<? extends TableModel> rowSorter = getRowSorter();
        if (rowSorter instanceof DefaultColumnInfoBasedRowSorter) {
          setRowSorter(null);
        }
      }
    }
  }
  public BatchXPDialog(JFrame parent, Campaign campaign) {
    super(parent, "", true); // $NON-NLS-1$

    this.resourceMap =
        ResourceBundle.getBundle(
            "mekhq.resources.BatchXPDialog", new EncodeControl()); // $NON-NLS-1$

    setTitle(resourceMap.getString("dialogue.title")); // $NON-NLS-1$
    choiceNoSkill = resourceMap.getString("skill.choice.text"); // $NON-NLS-1$

    this.campaign = Objects.requireNonNull(campaign);
    this.personnelModel = new PersonnelTableModel(campaign);
    personnelModel.refreshData();
    personnelSorter = new TableRowSorter<PersonnelTableModel>(personnelModel);
    personnelSorter.setSortsOnUpdates(true);
    personnelSorter.setComparator(PersonnelTableModel.COL_RANK, new RankSorter(campaign));
    personnelSorter.setComparator(PersonnelTableModel.COL_AGE, new FormattedNumberSorter());
    personnelSorter.setComparator(PersonnelTableModel.COL_XP, new FormattedNumberSorter());
    personnelSorter.setSortKeys(Arrays.asList(new RowSorter.SortKey(1, SortOrder.ASCENDING)));
    personnelFilter = new PersonnelFilter();
    personnelSorter.setRowFilter(personnelFilter);

    initComponents();
  }
示例#3
0
  /*Constructor sin argumentos*/
  public VisVOrds() {
    /*Inicaliza los componentes gráficos*/
    initComponents();

    /*Centra la ventana*/
    this.setLocationRelativeTo(null);

    /*La ventana se mostrará maximizada*/
    setExtendedState(getExtendedState() | VisVOrds.MAXIMIZED_BOTH);

    /*Establece el título de la ventana con la estación, la fecha y hora*/
    this.setTitle("Visor Tabla, Usuario: <" + Login.sUsrG + "> " + Login.sFLog);

    /*Cambia el icono de la forma, ya sea el personalizado por el usuario o el de default del sistema*/
    if (new File(new java.io.File("").getAbsolutePath() + "\\Logo.jpg").exists()) {
      setIconImage(
          Toolkit.getDefaultToolkit()
              .getImage(new java.io.File("").getAbsolutePath() + "\\Logo.jpg"));
    } else setIconImage(new ImageIcon(getClass().getResource(Star.sIconDef)).getImage());

    /*Para que la tabla este ordenada al mostrarce y al dar clic en el nombre de la columna*/
    TableRowSorter trs = new TableRowSorter<>((DefaultTableModel) jTab.getModel());
    jTab.setRowSorter(trs);
    trs.setSortsOnUpdates(true);

    /*Pon el foco del teclado en la tabla*/
    jTab.grabFocus();

    /*Establece el tamaño de las columnas de la tabla*/
    // jTab.getColumnModel().getColumn(3).setPreferredWidth(500);

    /*Activa en la tabla que se usen normamente las teclas de tabulador*/
    jTab.setFocusTraversalKeys(java.awt.KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, null);
    jTab.setFocusTraversalKeys(java.awt.KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, null);

    /*Incializa el contador del cell editor*/
    iContCellEd = 1;

    /*Crea el listener para cuando se cambia de selección en la tabla*/
    PropertyChangeListener pro =
        new PropertyChangeListener() {
          @Override
          public void propertyChange(PropertyChangeEvent event) {
            /*Obtén la propiedad que a sucedio en el control*/
            String pr = event.getPropertyName();

            /*Si no hay selecciòn entonces regresa*/
            if (jTab.getSelectedRow() == -1) return;

            /*Si el evento fue por entrar en una celda de la tabla*/
            if ("tableCellEditor".equals(pr)) {
              /*Si el contador de cell editor está en 1 entonces que lea el valor original que estaba ya*/
              if (iContCellEd == 1) {
                /*Obtiene todos los datos originales*/
                sOrdOri = jTab.getValueAt(jTab.getSelectedRow(), 1).toString();
                sProyOri = jTab.getValueAt(jTab.getSelectedRow(), 2).toString();
                sProvOri = jTab.getValueAt(jTab.getSelectedRow(), 3).toString();
                sImpoOri = jTab.getValueAt(jTab.getSelectedRow(), 4).toString();
                sImpueOri = jTab.getValueAt(jTab.getSelectedRow(), 5).toString();
                sTotOri = jTab.getValueAt(jTab.getSelectedRow(), 6).toString();
                sRealOri = jTab.getValueAt(jTab.getSelectedRow(), 7).toString();
                sFechOri = jTab.getValueAt(jTab.getSelectedRow(), 8).toString();
                sSucOri = jTab.getValueAt(jTab.getSelectedRow(), 9).toString();
                sCajOri = jTab.getValueAt(jTab.getSelectedRow(), 10).toString();
                sEstacOri = jTab.getValueAt(jTab.getSelectedRow(), 11).toString();
                sNomEstacOri = jTab.getValueAt(jTab.getSelectedRow(), 12).toString();

                /*Aumenta el contador para saber que va de salida*/
                ++iContCellEd;
              }
              /*Else, el contador de cell editor es 2, osea que va de salida*/
              else {
                /*Coloca los valores originales que tenian*/
                jTab.setValueAt(sOrdOri, jTab.getSelectedRow(), 1);
                jTab.setValueAt(sProyOri, jTab.getSelectedRow(), 2);
                jTab.setValueAt(sProvOri, jTab.getSelectedRow(), 3);
                jTab.setValueAt(sImpoOri, jTab.getSelectedRow(), 4);
                jTab.setValueAt(sImpueOri, jTab.getSelectedRow(), 5);
                jTab.setValueAt(sTotOri, jTab.getSelectedRow(), 6);
                jTab.setValueAt(sRealOri, jTab.getSelectedRow(), 7);
                jTab.setValueAt(sFechOri, jTab.getSelectedRow(), 8);
                jTab.setValueAt(sSucOri, jTab.getSelectedRow(), 9);
                jTab.setValueAt(sCajOri, jTab.getSelectedRow(), 10);
                jTab.setValueAt(sEstacOri, jTab.getSelectedRow(), 11);
                jTab.setValueAt(sNomEstacOri, jTab.getSelectedRow(), 12);

                /*Resetea el celleditor*/
                iContCellEd = 1;
              }
            } /*Fin de if("tableCellEditor".equals(property)) */
          } /*Fin de public void propertyChange(PropertyChangeEvent event) */
        };

    /*Establece el listener para la tabla*/
    jTab.addPropertyChangeListener(pro);
  } /*Fin de public VisEmps() */
示例#4
0
  public LibraryApp() {
    super("Ambient Library");

    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    bookTable_.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

    contentPane_.setBorder(new EmptyBorder(10, 5, 10, 5));
    contentPane_.setLayout(new BorderLayout(0, 0));
    setContentPane(contentPane_);

    contentPane_.add(bookTableScrollPane_);

    contentPane_.add(keywordPanel_, BorderLayout.SOUTH);
    keywordPanel_.setBorder(new EmptyBorder(5, 0, 0, 0));
    keywordPanel_.setLayout(new BorderLayout(5, 0));
    keywordPanel_.add(keywordField_);
    keywordPanel_.add(keywordLabel_, BorderLayout.WEST);

    // bookTable_.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
    bookTable_.setAutoResizeMode(JTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS);

    bookTable_.setDefaultRenderer(String.class, bookTableCellRenderer_);
    bookTable_.setDefaultRenderer(Icon.class, statusCellRenderer_);
    bookTable_.setDefaultRenderer(ImageIcon.class, statusCellRenderer_);
    bookTable_.setCellSelectionEnabled(false);
    bookTable_.setRowSelectionAllowed(true);
    bookTable_.setSelectionBackground(Color.blue);

    JMenuItem addReviewMenuItem = new JMenuItem(ADD_REVIEW_CMD);
    JMenuItem clearReviewsMenuItem = new JMenuItem(CLR_REVIEW_CMD);
    JMenuItem editKeywordsMenuItem = new JMenuItem(EDIT_KEYWS_CMD);
    addReviewMenuItem.addActionListener(new AddReviewActionAdapter(this));
    clearReviewsMenuItem.addActionListener(new ClearReviewsActionAdapter(this));
    editKeywordsMenuItem.addActionListener(new EditKeywordsActionAdapter(this));
    popupMenu_.add(addReviewMenuItem);
    popupMenu_.add(clearReviewsMenuItem);
    popupMenu_.add(editKeywordsMenuItem);

    MouseListener popupListener = new PopupListener();
    bookTable_.addMouseListener(popupListener);

    TableColumn statusColumn = bookTable_.getColumnModel().getColumn(0);
    statusColumn.setMaxWidth(40);
    statusColumn.setMaxWidth(40);
    statusColumn.setPreferredWidth(40);

    TableColumn ratingColumn = bookTable_.getColumnModel().getColumn(3);
    ratingColumn.setMaxWidth(60);
    ratingColumn.setMaxWidth(60);
    ratingColumn.setPreferredWidth(60);

    TableColumn favorColumn = bookTable_.getColumnModel().getColumn(4);
    favorColumn.setMaxWidth(60);
    favorColumn.setMaxWidth(60);
    favorColumn.setPreferredWidth(60);

    sorter_ = new TableRowSorter<BookTableModel>(bookTableModel_);
    bookTable_.setRowSorter(sorter_);
    sorter_.setSortsOnUpdates(true);

    ImageIcon starIcon = new ImageIcon(LibraryApp.class.getResource("../icons/flatstar.png"));
    JLabel ratingLabel = new JLabel("", starIcon, JLabel.CENTER);
    TableCellRenderer ratingRenderer = new HeaderRenderer();
    ratingColumn.setHeaderRenderer(ratingRenderer);
    ratingColumn.setHeaderValue(ratingLabel);

    ImageIcon heartIcon = new ImageIcon(LibraryApp.class.getResource("../icons/flatheart.png"));
    JLabel favorLabel = new JLabel("", heartIcon, JLabel.CENTER);
    TableCellRenderer favorRenderer = new HeaderRenderer();
    favorColumn.setHeaderRenderer(favorRenderer);
    favorColumn.setHeaderValue(favorLabel);

    keywordLabel_.setIcon(heartIcon);
    keywordField_.addActionListener(new KeywordActionListener());
    keywordField_.getDocument().addDocumentListener(new KeywordDocumentListener());
    keywordField_.getDocument().putProperty("name", "Keyword Field");

    keywordField_.setText("a,e,i,o,u,y");

    this.pack();
    this.setVisible(true);
  }
  // using legacy lib, raw types extend Object
  @SuppressWarnings("unchecked")
  TableView() {
    // model
    mModel =
        new DefaultTableModel(0, 1) {
          // row sorter needs this
          @Override
          public Class<?> getColumnClass(int columnIndex) {
            return TableView.this.getColumnClass(columnIndex);
          }
        };
    this.setModel(mModel);

    // sorter
    mRowSorter = new TableRowSorter<>(mModel);
    List<RowSorter.SortKey> sortKeys = new ArrayList<>();
    sortKeys.add(new RowSorter.SortKey(0, SortOrder.ASCENDING));
    mRowSorter.setSortKeys(sortKeys);
    mRowSorter.setSortsOnUpdates(true);
    mRowSorter.sort();
    // filter
    RowFilter<DefaultTableModel, Integer> rowFilter =
        new RowFilter<DefaultTableModel, Integer>() {
          @Override
          public boolean include(Entry<? extends DefaultTableModel, ? extends Integer> entry) {
            I i = (I) entry.getValue(0);
            return i.contains(mSearch);
          }
        };
    mRowSorter.setRowFilter(rowFilter);
    this.setRowSorter(mRowSorter);

    // hide header
    this.setTableHeader(null);

    // hide grid
    this.setShowGrid(false);

    // use custom renderer
    this.setDefaultRenderer(TableItem.class, new TableRenderer());

    // trigger editing to forward mouse events
    this.addMouseMotionListener(
        new MouseMotionListener() {
          @Override
          public void mouseDragged(MouseEvent e) {}

          @Override
          public void mouseMoved(MouseEvent e) {
            int row = TableView.this.rowAtPoint(e.getPoint());
            if (row >= 0) {
              TableView.this.editCellAt(row, 0);
            }
          }
        });

    // actions triggered by mouse events
    this.addMouseListener(
        new MouseAdapter() {
          @Override
          public void mouseExited(MouseEvent e) {
            if (mTip != null) mTip.closeTooltip();
          }
        });
  }