Package javax.swing.table

Examples of javax.swing.table.TableCellRenderer


        if (selectedFlag != null) {
            selectionColumn = table.getColumn(selectedFlag.getName());
            selectionColumn.setPreferredWidth(40);
            selectionColumn.setMaxWidth(40);
            selectionColumn.setCellRenderer(new TableCellRenderer() {
                public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
                    boolean selected = false;
                    if (value instanceof Boolean) {
                        selected = ((Boolean) value).booleanValue();
                    }

                    JComponent ret = getCheckBoxCellRendererComponent();

                    cellRendererCheckBox.setSelected(selected);

                    if (isSelected) {
                        ret.setBackground(SystemColor.textHighlight);
                        ret.setForeground(SystemColor.textHighlightText);
                        ret.setOpaque(true);
                    } else {
                        ret.setForeground(SystemColor.text);
                        ret.setOpaque(false);
                    }

                    return ret;
                }
            });

            selectionColumn.setHeaderRenderer(new TableCellRenderer() {

                public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
                    return getSelectionHeaderRenderer();
                }
            });
View Full Code Here


   */
  public static void calcColumnWidths(JTable table)
  {
      JTableHeader header = table.getTableHeader();

      TableCellRenderer defaultHeaderRenderer = null;

      if (header != null)
          defaultHeaderRenderer = header.getDefaultRenderer();

      TableColumnModel columns = table.getColumnModel();
      TableModel data = table.getModel();

      int margin = columns.getColumnMargin(); // only JDK1.3

      int rowCount = data.getRowCount();

      int totalWidth = 0;

      for (int i = columns.getColumnCount() - 1; i >= 0; --i)
      {
          TableColumn column = columns.getColumn(i);
             
          int columnIndex = column.getModelIndex();
             
          int width = -1;

          TableCellRenderer h = column.getHeaderRenderer();
           
          if (h == null)
              h = defaultHeaderRenderer;
             
          if (h != null) // Not explicitly impossible
          {
              Component c = h.getTableCellRendererComponent
                     (table, column.getHeaderValue(),
                      false, false, -1, i);
                     
              width = c.getPreferredSize().width;
          }
        
          for (int row = rowCount - 1; row >= 0; --row)
          {
              TableCellRenderer r = table.getCellRenderer(row, i);
                  
              Component c = r.getTableCellRendererComponent
                 (table,
                  data.getValueAt(row, columnIndex),
                  false, false, row, i);
         
                  width = Math.max(width, c.getPreferredSize().width);
View Full Code Here

  }
 
  public static void setFixedWidths(JTable table) {
      JTableHeader header = table.getTableHeader();

      TableCellRenderer defaultHeaderRenderer = null;

      if (header != null)
          defaultHeaderRenderer = header.getDefaultRenderer();

      TableColumnModel columns = table.getColumnModel();
View Full Code Here

    private int getMaximalRequiredColumnWidth(int columnIndex, int headerWidth) {
        int maxWidth = headerWidth;

        TableColumn column = paramTable.getColumnModel().getColumn(columnIndex);

        TableCellRenderer cellRenderer = column.getCellRenderer();

        if(cellRenderer == null) {
            cellRenderer = new DefaultTableCellRenderer();
        }

        for(int row = 0; row < paramTable.getModel().getRowCount(); row++) {
            Component rendererComponent = cellRenderer.getTableCellRendererComponent(paramTable,
                paramTable.getModel().getValueAt(row, columnIndex),
                false,
                false,
                row,
                columnIndex);
View Full Code Here

        if (row == -1 || column == -1) {
            return null;
        }

        TableCellRenderer renderer = getCellRenderer(row, column);
        if (renderer == null) {
            return null;
        }
        Component renderingComponent = renderer.getTableCellRendererComponent(this, getValueAt(row, column), isCellSelected(row, column), false, row, column);
        return renderer instanceof JComponent ? ((JComponent)renderingComponent).getToolTipText() : null;
    }
View Full Code Here

    public TableCellEditor getCellEditor() {
        return cellEditor;
    }

    public TableCellRenderer getCellRenderer(final int row, final int viewColumn) {
        TableCellRenderer result = getColumnModel().getColumn(viewColumn).getCellRenderer();
        if (result == null) {
            result = getDefaultRenderer(getColumnClass(viewColumn));
        }

        return result;
View Full Code Here

        // uninstantiable
    }
    public static void applyRenderers(final JTable table, final TableCellRenderer [] renderers){
        final TableColumnModel columnModel = table.getColumnModel();
        for(int i = 0; i < renderers.length; i++){
            final TableCellRenderer rend = renderers[i];
            if (rend != null) {
                columnModel.getColumn(i).setCellRenderer(rend);
            }
        }
}
View Full Code Here

     *
     * @param column to be resized
     * @param table containing the column
     */
    public static void fixSize(TableColumn column, JTable table) {
        TableCellRenderer rndr;
        rndr = column.getHeaderRenderer();
        if (rndr == null){
            rndr = table.getTableHeader().getDefaultRenderer();
        }
        Component c = rndr.getTableCellRendererComponent(
                table, column.getHeaderValue(), false, false, -1, column.getModelIndex());
        int width = c.getPreferredSize().width+10;
        column.setMaxWidth(width);
        column.setPreferredWidth(width);
        column.setResizable(false);       
View Full Code Here

        Rectangle cellRect = table.getCellRect(rowIndex, columnIndex, false);
        return cellRect;
    }

    public Component getRendererComponent() {
        TableCellRenderer cellRenderer = table.getCellRenderer(rowIndex, columnIndex);
        Component component = table.prepareRenderer(cellRenderer, rowIndex, columnIndex);
        return component;
    }
View Full Code Here

   
    public TableCellRenderer getCellRenderer(int row, int col) {
        Object obj = getModel().getValueAt(row, col);

        if (obj != null) {
            TableCellRenderer tmpRenderer = (TableCellRenderer)cellRenderers.get(obj.getClass().getName());
            if (tmpRenderer != null) {
                return tmpRenderer;
            }
        }
       
View Full Code Here

TOP

Related Classes of javax.swing.table.TableCellRenderer

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.