Добавление кнопки в строку заголовка с использованием вещества LAF

StackOverflow https://stackoverflow.com/questions/4294468

  •  28-09-2019
  •  | 
  •  

Вопрос

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

В моем 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);

Теперь вы получите хорошую кнопку после значка и до названия :)

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top