كيف يمكنني إخفاء CTABITEM في CTABFolder
سؤال
لا يمكنني العثور على أي طريقة لإجراء علامة تبويب غير مرئية أو مخفية بطريقة أخرى في تطبيق SWT / JFACE --- أريد أن تكون علامة تبويب ثانية متوفرة (أم لا) بناء على بعض التفضيلات الأخرى التي يحددها المستخدم.
لا ينبغي أن يكون من الصعب معرفة ذلك!
المحلول
الطريقة الوحيدة التي أعرفها هي التخلص من ctabitem للحصول على علامة التبويب تريد إخفاءها ثم إنشاء CTABITEM جديد عند الرغبة في إظهارها. نوعا ما،
CTabFolder folder = new CTabFolder(parent, SWT.NONE);
Label label = new Label(folder, SWT.NONE);
label.setText("Hello");
CTabItem item = new CTabItem(folder);
item.setControl(label);
// Hide it
item.dipose();
// show it again
CTabItem item = new CTabItem(folder);
item.setControl(label);
إذا كنت ترغب في إخفاء علامة تبويب في الوسط، فستحتاج إلى إعادة إنشاء جميع علامات التبويب بعد التخلص منها .. من المحتمل أن تكون أسهل إذا قمت بإنشاء فئة تحمل عنصر التحكم وحقل يمكن استخدامه لتبديل الرؤية. ثم يمكنك فقط Dipose جميع CTABITEMS وإعادة إنشاء حقل الرؤية صحيحا.
لا تنتمي إلى StackOverflow