Этот стиль зависит от L&F, если он поддерживает свойство Table.border
или Table.scrollPaneBorder
.
В некоторых случаях этого свойства Table.scrollPaneBorder
достаточно, но нет правил, чтобы иметь таблица, заключенная в таблицу переноса области прокрутки. Другими словами, у вас может быть таблица без панели прокрутки.
если у вас есть таблица без панели прокрутки, проблема может быть решена с помощью LookAndFeel, если ваш фактический L & f не имеет этой поддержки, решения несколько, например:
- Используйте другие l и f. например Material-ui-swing , table.border находится в развивающейся ветке, вы можете скомпилировать исходный код.
- Разработайте персональный TableUI, чтобы установить границу внутри пользовательского интерфейса, например точка первая
- , вы можете поместить свою таблицу в панель прокрутки, но при этом должны соблюдаться правила L & F.
1. Реализуйте интерфейс таблицы. (от material-ui-swing )
вставьте границу внутри свойства Table.border
, например:
UiManager.put("Table.border", new BorderUIResources(YOUR_BORDER));
Вам нужно чтобы обернуть границу внутри BorderUIResource, потому что, если вы реализуете переключатель L6f внутри своего приложения, Swing не удаляет правильность без интерфейса UIResource.
public class MaterialTableUI extends BasicTableUI {
public static ComponentUI createUI (JComponent c) {
return new MaterialTableUI();
}
@Override
public void installUI (JComponent c) {
super.installUI (c);
table.setBorder(UIManager.getBorder("Table.border"));
}
}
В этом ответе содержится обзор всех возможных решений, которые существует, если таблица развернута из области прокрутки. Фактически, правильность Table.scrollPaneBorder
должна работать нормально
Пример с material-ui-swing
set border
UIManager.put("Table.border", BorderFactory.createLineBorder(MaterialColors.COSMO_BLACK, 5));
введите описание изображения здесь