Оставьте разрыв между границей и рамкой - PullRequest
2 голосов
/ 28 июля 2011

У меня есть JPanel, который установлен на BorderLayout.Я добавил 2 JPanels внутри этой панели, один юг и один центр.В центральной панели я добавил LowerBevelBorder.Я обнаружил, что не могу оставить зазор между главной рамой и границей.Как я могу это сделать?Это мой panel1.setBorder(BorderFactory.createLoweredBevelBorder());

1 Ответ

5 голосов
/ 28 июля 2011

Используйте составную границу , которая позволяет вложить границы без необходимости создавать контейнеры только для этой цели. API может помочь вам настроить это. например.,

int eb = 10;
panel1.setBorder(BorderFactory.createCompoundBorder(
    BorderFactory.createEmptyBorder(eb, eb, eb, eb), // outer border
    BorderFactory.createLoweredBevelBorder()));      // inner border

Код примечания не тестировался.

Обратите внимание, что это зависит от того, что представляет собой panel1. Если это не основная JPanel BorderLayout, то лучше всего установить для Border of BorderLayout с использованием JPanel значение EmptyBorder.

...