Добавление кнопки в строку заголовка с использованием вещества LAF
Вопрос
Я пытаюсь добавить кнопку в мою строку заголовка. Похоже, это не показывает, а какая-то причина скрывает название слова.
В моем Jframe я делаю:
CustomTitlePane.editTitleBar(this);
И мой класс титула:
public class CustomTitlePane extends SubstanceTitlePane {
private static final long serialVersionUID = 1L;
public CustomTitlePane(JRootPane root, SubstanceRootPaneUI ui) {
super(root, ui);
}
public static void editTitleBar(JFrame frame){
JComponent title = SubstanceLookAndFeel.getTitlePaneComponent(frame);
JButton titleButton = new JButton("test");
titleButton.putClientProperty("substancelaf.internal.titlePane.extraComponentKind", ExtraComponentKind.TRAILING);
title.add(titleButton,2);
}
}
Решение
Нашел ответ. Строка заголовка не имеет макета, и поэтому вам нужно добавить оценки, к которым когда-либо вы добавляете так:
titleButton.setBounds(20, 0, 40, 20);
Теперь вы получите хорошую кнопку после значка и до названия :)
Другой вариант - добавить менеджер макета в строку заголовка.
Не связан с StackOverflow