Как установить границу для левого или верхнего компонента JSplitPane в java Swing

Я хочу установить границу слева и справа от JSplitpane, так что я обнаружил, что это всего лишь граница для всего JSplitpane и разделителя, есть предложения?

введите здесь описание изображения

это код, который я использую:

split = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, true, new LeftPanelInfos(),
    SetVerticalSplitPane());
split.setResizeWeight(0.30);
split.setOneTouchExpandable(true);
split.setEnabled(false);
split.setDividerSize(10);
System.out.println(this.getSize());

BasicSplitPaneDivider divider = ((BasicSplitPaneUI)split.getUI()).getDivider();
divider.setBorder(new LineBorder(Color.WHITE));  

this.getContentPane().add(split);         

person Karim Massi    schedule 02.03.2014    source источник


Ответы (1)


Вы, вероятно, хотите что-то вроде: myComponent.setBorder(BorderFactory.createMatteBorder(0, 5, 0, 5, Color.Black));

Вы можете ознакомиться с учебным пособием по Java «Как использовать границы» — http://docs.oracle.com/javase/tutorial/uiswing/components/border.html для получения дополнительных примеров или просто прочитайте API для Borders и BorderFactory.

person quinnuendo    schedule 02.03.2014
comment
Я знаю, как установить границу для компонента, но чего я не могу сделать, так это границы для половины части Jsplitpane, т.е. я хочу что-то вроде этого jSplitPane.getleftcomponent().setBorder(new LineBorder(Color.Black)) - person Karim Massi; 02.03.2014
comment
хорошо, так почему бы вам не сделать именно так? есть метод для получения левого компонента, или вы можете настроить границу непосредственно на компоненте. Если вы хотите, чтобы это происходило при изменении компонента, вы, вероятно, захотите либо определить прослушиватель для этого, либо суперкласс на основе JSplitPane. - person quinnuendo; 02.03.2014
comment
я хочу, чтобы часть jsplitpane была четко разделена этой границей, поэтому у меня есть две части слева и справа, и я хочу установить для них границу, проблема, когда я получаю левый компонент и не могу установить границу потому что нет способа сделать это - person Karim Massi; 02.03.2014
comment
Я до сих пор не уверен, что понимаю, что вы имеете в виду, но у любого JComponent есть метод setBorder. Может быть, ваш левый компонент не является JComponent? - person quinnuendo; 02.03.2014
comment
я знаю, что компонент принимает границу, и я знаю, как ее установить, проблема для меня в том, что я не могу найти метод для установки границы для каждой части JSplitPane (т.е. слева и справа или сверху и снизу) см. отредактированный пост, я добавил картинку в качестве примера - person Karim Massi; 03.03.2014