Ajout d'un bouton à la barre de titre à l'aide de substances LAF
Question
Je suis en train d'ajouter un bouton à ma barre de titre. Il ne semble pas et de montrer quelque raison cache les mots du titre.
Dans mon JFrame je fais:
CustomTitlePane.editTitleBar(this);
Et ma classe de titre:
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);
}
}
La solution
trouvé la réponse. La barre de titre n'a pas mise en page et donc vous devez ajouter des limites à ce que jamais vous ajouter comme ceci:
titleButton.setBounds(20, 0, 40, 20);
Maintenant, vous obtiendrez un joli bouton après l'icône et avant le titre:)
L'autre option est d'ajouter un gestionnaire de mise en page à la barre de titre.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow