سؤال

في Eclipse، من السهل تحديد الأزرار لشريط الأدوات الخاص بك باستخدام نقطة ملحق ActionSets.ومع ذلك، عندما أحتاج إلى تحديد بعض العناصر برمجيًا، لا يمكنني الحصول على نفس المظهر.لا أعتقد أن إطار العمل يستخدم الأزرار الأصلية لهذه العناصر، ولكن حتى الآن، لا يمكنني العثور على الوصفة الصحيحة التي تتناسب مع مظهر Eclipse.أردت معرفة ما إذا كان أي شخص قد وجد المقتطف الصحيح لتكرار هذه الوظيفة في التعليمات البرمجية.

هل كانت مفيدة؟

المحلول

ومن الصعب أن أقول من سؤالك، ولكن هذا يبدو وكأنه قد تكون محاولة لإضافة ControlContribution إلى شريط الأدوات وإعادة زر. وهذا من شأنه على الزر الموجود على شريط الأدوات تظهر مثل زر الأصلي مثل يبدو لك أن تكون واصفا. هذا من شأنه أن ننظر بشيء من هذا القبيل:

IToolBarManager toolBarManager = actionBars.getToolBarManager();
toolBarManager.add(new ControlContribution("Toggle Chart") {
    @Override
    protected Control createControl(Composite parent)
    {
        Button button = new Button(parent, SWT.PUSH);
        button.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
                // Perform action
            }
        });
     }
});

وبدلا من ذلك يجب عليك إضافة العمل إلى شريط الأدوات. هذا سيخلق زر على شريط الأدوات الذي يتطابق مع أزرار شريط الأدوات كسوف القياسية. هذا من شأنه أن ننظر بشيء من هذا القبيل:

Action myAction = new Action("", imageDesc) {
    @Override
    public void run() {
        // Perform action
    }
};

IToolBarManager toolBarManager = actionBars.getToolBarManager();
toolBarManager.add(myAction);

نصائح أخرى

هل يمكنك ربما أن تضع مقتطفًا من التعليمات البرمجية لديك لإضافة إجراءات برمجيًا إلى شريط الأدوات؟أفترض أنك تفعل هذا في ApplicationActionBarAdvisor فصل؟يجب ألا يكون هناك اختلاف في شكل الأزرار التي تضيفها بشكل تصريحي مقابل تلك التي تضيفها برمجيًا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top