Я знаю, как создавать границы с помощью BorderFactory
, но я не вижу ничего, что позволяет мне указать, на каких сторонах я хочу получить границу: S
Возможно ли иметь границу качания java только на верхней стороне?
Ответ 1
Из учебника Sun:
Следующая картинка показывает некоторые матовые границы. При создании матовой границы вы указываете, сколько пикселей она занимает сверху, слева, снизу и справа от компонента.
Ответ 2
Вы можете использовать MatteBorder, чтобы указать размеры границы на каждой стороне. Конструктор MatteBorder
:
public MatteBorder(int top,
int left,
int bottom,
int right,
Color matteColor)
Поэтому, если вы хотите, чтобы граница была только на нижней и правой сторонах вашей JPanel
, вы можете написать что-то вроде этого:
JPanel panel = new JPanel();
panel.setBorder(BorderFactory.createMatteBorder(0, 0, 1, 1, Color.BLACK));
Ответ 3
Матовая и пустая граница позволяет вам указать размеры с каждой стороны, которая может быть равна нулю.
Интерфейс Border
сам по себе очень прост в реализации, если вам нужен пользовательский вид. Я предполагаю, что могут быть доступны сторонние библиотеки, содержащие стили, не включенные в библиотеку Java.
Ответ 4
text_field.setBorder( new MatteBorder(2, 0, 0, 0, Color.black));
Значения могут быть изменены соответственно.