إضافة زر إلى شريط العنوان باستخدام المادة 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