下面列出了javax.swing.JTable#getFont ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus,
int row, int column)
{
Font tableFont = table.getFont();
if (column < 3)
{
setFont(FontManipulation.bold(tableFont));
}
else
{
setFont(FontManipulation.plain(tableFont));
}
setBackground(table.getBackground());
setForeground(table.getForeground());
Integer mod = (Integer) value;
if (mod == 0 && column > 3)
{
// let's use a pretty em dash instead of hyphen/minus.
setText("\u2014");
}
else
{
setText(formatter.format(mod.longValue()));
}
return this;
}
/**
* set visualisation parameters referring to given table
*
* @param table
* - the table object to refer to ...
*/
private void setParentTable(JTable table)
{
parentTable = table;
// set the font only once, and then just use it
parentFont = table.getFont();
setFont(parentFont);
// get background color from Table
bgColor = table.getBackground();
// get selection color from Table
selColor = table.getSelectionBackground();
}
@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus,
int row, int column)
{
Font tableFont = table.getFont();
if (column < 3)
{
setFont(FontManipulation.bold(tableFont));
}
else
{
setFont(FontManipulation.plain(tableFont));
}
setBackground(table.getBackground());
setForeground(table.getForeground());
Integer mod = (Integer) value;
if (mod == 0 && column > 3)
{
// let's use a pretty em dash instead of hyphen/minus.
setText("\u2014");
}
else
{
setText(formatter.format(mod.longValue()));
}
return this;
}
public void initComponent( final ViewRegistrations viewRegistrations )
{
tableModel = new RegistrationTableModel( viewRegistrations, this );
table = new JTable();
table.setModel( tableModel );
table.setSurrendersFocusOnKeystroke( true );
table.setSelectionMode( ListSelectionModel.SINGLE_INTERVAL_SELECTION );
final DefaultTableCellRenderer centerRenderer = new DefaultTableCellRenderer();
centerRenderer.setHorizontalAlignment( JLabel.CENTER );
// center all columns
for ( int column = 0; column < tableModel.getColumnCount(); ++column )
table.getColumnModel().getColumn( column ).setCellRenderer( centerRenderer );
table.setPreferredScrollableViewportSize( new Dimension( 1020, 300 ) );
table.getColumnModel().getColumn( 0 ).setPreferredWidth( 300 );
for ( int i = 1; i < table.getColumnCount(); ++i )
table.getColumnModel().getColumn( i ).setPreferredWidth( 100 );
final Font f = table.getFont();
table.setFont( new Font( f.getName(), f.getStyle(), 11 ) );
this.setLayout( new BorderLayout() );
this.label = new JLabel( "View Description --- " );
this.add( label, BorderLayout.NORTH );
this.add( new JScrollPane( table ), BorderLayout.CENTER );
addPopupMenu( table );
}
public DiagnosticsForThreads() {
JTable table = new JTable(tableModel);
table.setAutoResizeMode(JTable.AUTO_RESIZE_LAST_COLUMN);
// code added Feb 2014 by Doug Brown
FontSizer.setFonts(table, FontSizer.getLevel());
Font font = table.getFont();
table.setRowHeight(font.getSize()+4);
table.getTableHeader().setFont(font);
// end added code
TableColumnModel colModel = table.getColumnModel();
int numColumns = colModel.getColumnCount();
for (int i = 0; i < numColumns - 1; i++) {
TableColumn col = colModel.getColumn(i);
col.sizeWidthToFit();
col.setPreferredWidth(col.getWidth() + 5);
col.setMaxWidth(col.getWidth() + 5);
}
JScrollPane sp = new JScrollPane(table);
setLayout(new BorderLayout());
add(sp, BorderLayout.CENTER);
}
/**
* @see javax.swing.table.TableCellRenderer#getTableCellRendererComponent(javax.swing.JTable,
* java.lang.Object, boolean, boolean, int, int)
*/
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected,
boolean hasFocus, int row, int column) {
JPanel newPanel = new JPanel();
Color bgColor;
if (isSelected)
bgColor = table.getSelectionBackground();
else
bgColor = table.getBackground();
newPanel.setBackground(bgColor);
if (hasFocus) {
Border border = null;
if (isSelected)
border = UIManager.getBorder("Table.focusSelectedCellHighlightBorder");
if (border == null)
border = UIManager.getBorder("Table.focusCellHighlightBorder");
/*
* The "border.getBorderInsets(newPanel) != null" is a workaround for OpenJDK 1.6.0 bug,
* otherwise setBorder() may throw a NullPointerException
*/
if ((border != null) && (border.getBorderInsets(newPanel) != null)) {
newPanel.setBorder(border);
}
}
if (value != null) {
String text;
if (value instanceof Number)
text = format.format((Number) value);
else
text = value.toString();
JLabel newLabel = new JLabel(text, JLabel.CENTER);
if (font != null)
newLabel.setFont(font);
else if (table.getFont() != null)
newLabel.setFont(table.getFont());
newPanel.add(newLabel);
}
return newPanel;
}
public static void scaleTableRowHeight(JTable table) {
if (table != null && table.getFont() != null) {
table.setRowHeight(table.getFontMetrics(table.getFont()).getHeight() + JBUI.scale(1));
}
}
/**
* @see javax.swing.table.TableCellRenderer#getTableCellRendererComponent(javax.swing.JTable,
* java.lang.Object, boolean, boolean, int, int)
*/
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected,
boolean hasFocus, int row, int column) {
JPanel newPanel = new JPanel();
Color bgColor;
if (isSelected)
bgColor = table.getSelectionBackground();
else
bgColor = table.getBackground();
newPanel.setBackground(bgColor);
if (hasFocus) {
Border border = null;
if (isSelected)
border = UIManager.getBorder("Table.focusSelectedCellHighlightBorder");
if (border == null)
border = UIManager.getBorder("Table.focusCellHighlightBorder");
/*
* The "border.getBorderInsets(newPanel) != null" is a workaround for OpenJDK 1.6.0 bug,
* otherwise setBorder() may throw a NullPointerException
*/
if ((border != null) && (border.getBorderInsets(newPanel) != null)) {
newPanel.setBorder(border);
}
}
if (value != null) {
String text;
if (value instanceof Number)
text = format.format((Number) value);
else
text = value.toString();
JLabel newLabel = new JLabel(text, JLabel.CENTER);
if (font != null)
newLabel.setFont(font);
else if (table.getFont() != null)
newLabel.setFont(table.getFont());
newPanel.add(newLabel);
}
return newPanel;
}
/**
* @see javax.swing.table.TableCellRenderer#getTableCellRendererComponent(javax.swing.JTable,
* java.lang.Object, boolean, boolean, int, int)
*/
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected,
boolean hasFocus, int row, int column) {
JPanel newPanel = new JPanel();
newPanel.setLayout(new OverlayLayout(newPanel));
Color bgColor;
if (isSelected)
bgColor = table.getSelectionBackground();
else
bgColor = table.getBackground();
newPanel.setBackground(bgColor);
if (hasFocus) {
Border border = null;
if (isSelected)
border = UIManager.getBorder("Table.focusSelectedCellHighlightBorder");
if (border == null)
border = UIManager.getBorder("Table.focusCellHighlightBorder");
if (border != null)
newPanel.setBorder(border);
}
if (value != null) {
if (value instanceof JComponent) {
newPanel.add((JComponent) value);
} else {
JLabel newLabel = new JLabel();
if (value instanceof IIsotope) {
IIsotope is = (IIsotope) value;
newLabel.setText(is.getSymbol());
} else {
newLabel.setText(value.toString());
}
if (font != null)
newLabel.setFont(font);
else if (table.getFont() != null)
newLabel.setFont(table.getFont());
newPanel.add(newLabel);
}
if (createTooltips)
newPanel.setToolTipText(value.toString());
}
return newPanel;
}