Нашел ответ ... И, черт возьми, это напоминает мне, почему я думаю, что Java Swing - ужасно дрянная область Java.
Если вы хотите изменить его для каждого отдельного JTable в вашем приложении, вы можете использоватьUIManager, чтобы установить цвет для линии отбрасывания:
UIManager.put("Table.dropLineColor", Color.cyan);
UIManager.put("Table.dropLineShortColor", Color.cyan);
Если вы хотите установить его только для одной таблицы, вы должны установить пользовательский интерфейс для вашей таблицы:
myTable.setUI(new CustomTableUI());
CustomTableUI затем гарантирует, что в UIManager цвет по умолчанию для dropLine будет изменен непосредственно перед рисованием линии.После этого значения по умолчанию будут восстановлены:
private class CustomTableUI extends BasicTableUI {
@Override
public void paint(Graphics g, JComponent c) {
// Store defaults
Color dropLineColor = UIManager.getColor("Table.dropLineColor");
Color dropLineShortColor = UIManager.getColor("Table.dropLineShortColor");
// Set your custom colors here
UIManager.put("Table.dropLineColor", Color.cyan);
UIManager.put("Table.dropLineShortColor", Color.cyan);
// Allow the table to be painted
super.paint(g, c);
// Restore the defaults
UIManager.put("Table.dropLineColor", dropLineColor);
UIManager.put("Table.dropLineShortColor", dropLineShortColor);
}
}