Exemple #1
0
 private Component createTable(List<HarvestConfig.Harvest> harvests) {
   tableModel = new HarvestTableModel(harvests);
   final JTable table =
       new JTable(tableModel, HarvestTask.getTableColumnModel(tableModel.getCellRenderer()));
   table
       .getModel()
       .addTableModelListener(
           new TableModelListener() {
             public void tableChanged(TableModelEvent event) {
               int row = table.getSelectedRow();
               selectedTask = ((HarvestTableModel) table.getModel()).getRow(row);
               setEnablement();
             }
           });
   table
       .getTableHeader()
       .addMouseListener(
           new MouseAdapter() {
             public void mouseClicked(MouseEvent mouseEvent) {
               TableColumnModel columnModel = table.getColumnModel();
               int viewColumn = columnModel.getColumnIndexAtX(mouseEvent.getX());
               int column = table.convertColumnIndexToModel(viewColumn);
               if (mouseEvent.getClickCount() == 1 && column != -1) {
                 ((HarvestTableModel) table.getModel()).sortOn(column);
               }
             }
           });
   table.getSelectionModel().setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
   table
       .getSelectionModel()
       .addListSelectionListener(
           new ListSelectionListener() {
             public void valueChanged(ListSelectionEvent event) {
               int row = table.getSelectedRow();
               selectedTask = ((HarvestTableModel) table.getModel()).getRow(row);
               if (selectedTask != null) {
                 fetchLocalLog();
               }
               setEnablement();
             }
           });
   JScrollPane pane =
       new JScrollPane(
           table, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
   pane.setPreferredSize(new Dimension(800, 300));
   return pane;
 }