/ / Властивості JButton, проігноровані Nimbus, перевизначення властивості меж - java, swing, jtable, jbutton, nimbus

Властивості JButton, проігноровані Nimbus, перекривають властивість кордону - java, swing, jtable, jbutton, nimbus

У мене виникають проблеми зі створенням кнопки зі специфічними властивостями під час використання Nimbus.

Перш за все, я використовую цей клас для реалізації кнопки в деяких стовпцях JTable. https://tips4java.wordpress.com/2009/07/12/table-button-column/

JButton в колонках Останні 2 стовпці пусті JButtons

Якщо я намагаюся встановити ці властивості в конструкторі, я взагалі не отримую жодних змін:

    renderButton.setBorder(BorderFactory.createEmptyBorder());
renderButton.setOpaque(false);
renderButton.setBorderPainted(false);

Таким чином, я продовжив своє дослідження, і я знайшов, як я повинен був це робити, оскільки Німбус ігнорував ці властивості. Моя наступна спроба:

    UIDefaults def = new UIDefaults();
/*Properties Here*/
renderButton.putClientProperty("Nimbus.Overrides", def);
renderButton.putClientProperty("Nimbus.Overrides.InheritDefaults", true);

Так що я спробував, але я не знаю, які імена я повинен використовувати:

    def.put("Button.border", BorderFactory.createEmptyBorder());
def.put("Button.borderPainted", false);
def.put("Button.background", Color.BLUE);

Фон є єдиним, який працює для мене, але я не хочу, щоб вони видаляли кордони.

Одне останнє, роблячи це (встановлюючи останнє в false) і тільки це:

    UIDefaults def = new UIDefaults();
renderButton.putClientProperty("Nimbus.Overrides", def);
renderButton.putClientProperty("Nimbus.Overrides.InheritDefaults", false);

Я не отримую жодних кордонів, але втрачаю останнє тло

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

Як ви бачите, я планую використовувати зображення пізніше. Мені це подобається краще, але волію, щоб зберегти фон.

До речі, можливо, я не повинен робити це, і проблема в іншому місці. Спасибі за вашу допомогу

Відповіді:

0 для відповіді № 1

Відповідь на зображення, позбавляючись відфону. Спробуйте відредагувати файли зображень і видалити всі білі, які не є частиною об'єкта, з якого зображена картинка.