Один из способов будет использовать UIManager
и заменить по умолчанию Font
с одной вы хотите
Font font = UIManager.getFont("TableHeader.font");
font = font.deriveFont(48f);
UIManager.put("TableHeader.font", font);
который заменит шрифт, используемый всеми таблицами в системе
Другим способом является предоставление настраиваемого TableCellRenderer
для столбцов, которые вы хотите изменить, это немного больше работы, но обеспечивает большую гибкость, поскольку вы можете решить, где вы хотите сложите их. Вы можете обернуть это внутри своего собственного JTableHeader
, но я просто предлагаю некоторые основные идеи.
public class HeaderRenderer implements UIResource, TableCellRenderer {
private TableCellRenderer original;
public HeaderRenderer(TableCellRenderer original) {
this.original = original;
}
@Override
public Component getTableCellRendererComponent(JTable table,
Object value, boolean isSelected, boolean hasFocus, int row,
int column) {
Component comp = original.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
comp.setFont(comp.getFont().deriveFont(Font.BOLD));
return comp;
}
}
который устанавливается используя что-то вроде ...
HeaderRenderer header = new HeaderRenderer(table.getTableHeader().getDefaultRenderer());
TableColumnModel columnModel = table.getColumnModel();
columnModel.getColumn(0).setHeaderRenderer(header);
И производит что-то вроде ...
Credit to Kleopatra for this idea
Длинные и короткие его вам, вы должны будете получить ваши руки грязные и напишите код, редактор формы не сделает все для вас
Thankyou ................................ ..! –
plz помогите мне этот вопрос также: http://stackoverflow.com/questions/41779352/code-error-in-set-data-into-rows-in-jtable-java –