package publicsWay; // °üÉùÃ÷ import javax.swing.*; // µ¼ÈëSwing×é¼þ import javax.swing.table.DefaultTableCellRenderer; // µ¼Èë±í¸ñµ¥Ôª¸ñäÖȾÆ÷ import javax.swing.table.DefaultTableModel; // µ¼ÈëĬÈϱí¸ñÄ£ÐÍ import java.awt.*; // µ¼ÈëAWTͼÐÎ×é¼þ public class TableUtils { // ±í¸ñ¹¤¾ßÀà // ´´½¨Í¨Óñí¸ñµÄ·½·¨ @SuppressWarnings("serial") public static JTable createCommonTable(String[] columnNames) { // ¾²Ì¬·½·¨¿ÉÖ±½Óµ÷Óà // ´´½¨±í¸ñÄ£ÐÍ - ÄäÃûÄÚ²¿ÀàÀ©Õ¹DefaultTableModel DefaultTableModel model = new DefaultTableModel(columnNames, 0) { // ³õʼ»¯±í¸ñÄ£ÐÍ @Override public boolean isCellEditable(int row, int column) { // ÖØÐ´µ¥Ôª¸ñ¿É±à¼­ÐÔ return false; // ËùÓе¥Ôª¸ñ²»¿É±à¼­ } }; // ´´½¨±í¸ñʵÀý JTable table = new JTable(model); // ʹÓÃ×Ô¶¨ÒåÄ£ÐÍ´´½¨±í¸ñ table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); // ÉèÖõ¥Ñ¡Ä£Ê½ // ´´½¨±íÍ·äÖȾÆ÷ DefaultTableCellRenderer headerRenderer = createHeaderRenderer(); // µ÷ÓÃäÖȾÆ÷´´½¨·½·¨ // Ó¦ÓñíÍ·äÖȾÆ÷µ½ËùÓÐÁÐ for (int i = 0; i < table.getColumnCount(); i++) { // ±éÀúËùÓÐÁÐ table.getColumnModel().getColumn(i).setHeaderRenderer(headerRenderer); // ÉèÖÃÁÐÍ·äÖȾÆ÷ } return table; // ·µ»ØÅäÖúõıí¸ñʵÀý } // ´´½¨±íÍ·äÖȾÆ÷ @SuppressWarnings("serial") private static DefaultTableCellRenderer createHeaderRenderer() { // ˽Óй¤¾ß·½·¨ return new DefaultTableCellRenderer() { // ·µ»ØÄäÃûÄÚ²¿ÀàʵÀý { // ʵÀý³õʼ»¯¿é setHorizontalAlignment(SwingConstants.LEFT); // ÉèÖñíÍ·Îı¾×ó¶ÔÆë setBackground(Color.GRAY); // ÉèÖñíÍ·±³¾°Îª»ÒÉ« setForeground(Color.WHITE); // ÉèÖñíÍ·ÎÄ×ÖΪ°×É« setFont(getFont().deriveFont(Font.BOLD)); // ÉèÖñíÍ·×ÖÌå¼Ó´Ö } }; } }