Добавление кнопки в строку заголовка с помощью Substance 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);
    }
}

person Daniel Ryan    schedule 27.11.2010    source источник


Ответы (1)


Нашел ответ. Строка заголовка не имеет макета, и поэтому вам нужно добавить границы к тому, что вы добавляете, например:

titleButton.setBounds(20, 0, 40, 20);

Теперь у вас будет красивая кнопка после иконки и перед заголовком :)

Другой вариант — добавить менеджер компоновки в строку заголовка.

person Community    schedule 28.11.2010