Пример #1
0
 public void ensureTableFill() {
   Container p = getParent();
   DefaultTableModel dataModel = (DefaultTableModel) dataTable.getModel();
   if (dataTable.getHeight() < p.getHeight()) {
     int newRows = (p.getHeight() - dataTable.getHeight()) / dataTable.getRowHeight();
     dataModel.setRowCount(dataTable.getRowCount() + newRows);
     for (int i = 0; i <= dataTable.getRowCount(); ++i) {
       if (rowHeader.getModel().getElementAt(i) != null)
         ((DefaultListModel) rowHeader.getModel()).add(i, true);
     }
   }
 }
Пример #2
0
  public void setFont(Font font) {
    super.setFont(font);

    if (dataTable != null && dataTable.getRowCount() > 0 && dataTable.getColumnCount() > 0) {

      // set the font for each component
      dataTable.setFont(font);
      if (dataTable.getTableHeader() != null) dataTable.getTableHeader().setFont(font);
      rowHeader.setFont(font);

      // get row height needed to draw an "X" character
      int h =
          dataTable
              .getCellRenderer(0, 0)
              .getTableCellRendererComponent(dataTable, "X", false, false, 0, 0)
              .getPreferredSize()
              .height;

      // use this height to set the table and row header heights
      dataTable.setRowHeight(h);
      rowHeader.setFixedCellHeight(h);

      // set the column width
      int size = font.getSize();
      if (size < 12) size = 12; // minimum size
      double multiplier = (size) / 12.0;
      preferredColumnWidth = (int) (SpreadsheetSettings.TABLE_CELL_WIDTH * multiplier);

      // columnHeader.setPreferredSize(new Dimension(preferredColumnWidth,
      // (int)(MyTable.TABLE_CELL_HEIGHT * multiplier)));
      // this.validate();
      // dataTable.repaint();
    }

    if (dataTable != null)
      dataTable.setPreferredScrollableViewportSize(dataTable.getPreferredSize());
  }
Пример #3
0
  /** Loads the data table. Called on data set changes. */
  public void loadDataTable(ArrayList<GeoElement> dataArray) {

    // load the data model
    populateDataTable(dataArray);

    // prepare boolean selection list for the checkboxes
    selectionList = new Boolean[dataArray.size()];
    for (int i = 0; i < dataArray.size(); ++i) {
      selectionList[i] = true;
    }

    // create a new header
    rowHeader = new MyRowHeader(this, dataTable);
    scrollPane.setRowHeaderView(rowHeader);
    updateFonts(getFont());

    // repaint
    dataTable.repaint();
    rowHeader.repaint();
  }
Пример #4
0
 public void actionPerformed(ActionEvent e) {
   if (e.getSource() == btnEnableAll) {
     rowHeader.enableAll();
     btnEnableAll.setEnabled(false);
   }
 }