public Font getFont() { if (!overrideGetFont) { return super.getFont(); } if (deriveNewFont) { Font oldFont = super.getFont(); int fontSize = customFont.getSize(); if (castToFloat) { return oldFont.deriveFont((float) fontSize); } else { // Here's the problem I tripped over... return oldFont.deriveFont(fontSize); } } else { return customFont; } }
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); if (!overrideGetFont) { if (deriveNewFont) { Font oldFont = super.getFont(); int fontSize = customFont.getSize(); Font newFont = null; if (castToFloat) { newFont = oldFont.deriveFont((float) fontSize); } else { // Here's the problem I tripped over... newFont = oldFont.deriveFont(fontSize); } setFont(newFont); } else { setFont(customFont); } } return this; } }
DefaultTableCellRenderer newRenderer = new DefaultTableCellRenderer(); Font oldFont = newRenderer.getFont(); Font bigFont = new Font(oldFont.getName(),oldFont.getStyle(),24); newRenderer.setFont(bigFont); table.setDefaultRenderer(Object.class,newRenderer);
DefaultTableCellRenderer header = new DefaultTableCellRenderer(); header.setFont(header.getFont().deriveFont(Font.BOLD)); JTable table = new JTable(); TableColumnModel model = table.getColumnModel(); model.getColumn(0).setHeaderRenderer(header);
FontMetrics fm = table.getFontMetrics( renderer.getFont() );
setBackground(adaptee.getBackground()); setBorder(adaptee.getBorder()); setFont(adaptee.getFont()); setText(adaptee.getText());
@Override public Component getTableCellRendererComponent(final JTable table, final Object obj, final boolean isSelected, final boolean hasFocus, final int row, final int column) { // set the colors, etc. using the standard for that platform adaptee.getTableCellRendererComponent(table, obj, isSelected, hasFocus, row, column); setForeground(adaptee.getForeground()); setBackground(adaptee.getBackground()); setBorder(adaptee.getBorder()); setFont(adaptee.getFont()); setText(adaptee.getText()); // This line was very important to get it working with JDK1.4 final TableColumnModel columnModel = table.getColumnModel(); setSize(columnModel.getColumn(column).getWidth(), 100000); int heightWanted = (int) getPreferredSize().getHeight(); addSize(table, row, column, heightWanted); heightWanted = findTotalMaximumRowSize(table, row); if (heightWanted != table.getRowHeight(row)) { table.setRowHeight(row, heightWanted); } return this; }