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)); // ÉèÖñíÍ·×ÖÌå¼Ó´Ö
|
}
|
};
|
}
|
}
|