Подтвердить что ты не робот

Возможно ли иметь границу качания java только на верхней стороне?

Я знаю, как создавать границы с помощью BorderFactory, но я не вижу ничего, что позволяет мне указать, на каких сторонах я хочу получить границу: S

4b9b3361

Ответ 1

Из учебника Sun:

Следующая картинка показывает некоторые матовые границы. При создании матовой границы вы указываете, сколько пикселей она занимает сверху, слева, снизу и справа от компонента.

(Java документы)

Ответ 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));

Значения могут быть изменены соответственно.