/* * [VerCheckHeaderRenderer.java] * * Summary: Renders the table headers. * * Copyright: (c) 2009-2017 Roedy Green, Canadian Mind Products, http://mindprod.com * * Licence: This software may be copied and used freely for any purpose but military. * http://mindprod.com/contact/nonmil.html * * Requires: JDK 1.8+ * * Created with: JetBrains IntelliJ IDEA IDE http://www.jetbrains.com/idea/ * * Version History: * 3.8 2009-03-31 change order of fields in defaults.csv. */ package com.mindprod.vercheck; import com.mindprod.common18.FontFactory; import javax.swing.BorderFactory; import javax.swing.JLabel; import javax.swing.JTable; import javax.swing.table.TableCellRenderer; import java.awt.Color; import java.awt.Component; import java.awt.Font; /** * Renders the table headers. * * @author Roedy Green, Canadian Mind Products * @version 3.8 2009-03-31 change order of fields in defaults.csv. * @since 2009 */ final class VerCheckHeaderRenderer implements TableCellRenderer { /** * background colour for column headers */ private static final Color BACKGROUND_FOR_HEADER = Color.BLUE; /** * foreground colour for column headers */ private static final Color FOREGROUND_FOR_HEADER = Color.WHITE; /** * header font */ private static final Font FONT_FOR_HEADERS = FontFactory.build( "Dialog", Font.BOLD, 14 ); /** * template for HeaderRender, reuses same component for all headers. */ private static final JLabel headerTemplate; static { headerTemplate = new JLabel( "", JLabel.CENTER ); headerTemplate.setForeground( FOREGROUND_FOR_HEADER ); headerTemplate.setBackground( BACKGROUND_FOR_HEADER ); headerTemplate.setFont( FONT_FOR_HEADERS ); headerTemplate.setBorder( BorderFactory.createLineBorder( Color.GRAY ) ); headerTemplate.setOpaque( true ); } public Component getTableCellRendererComponent( JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column ) { headerTemplate.setText( value.toString() ); return headerTemplate; } }