Önceden tanımlanmış stillerle birlikte SWT proje kontrollerimde (Button-s, Text-s, vb.) Bulunmak istiyorum. İlk fikrim, örneğin org.eclipse.swt.widgets.Text
sınıfını genişletmek, bazı ayarları yapmak ve bu yeni sınıfları orijinal yerine kullanmaktı, ancak org.eclipse.swt.SWTException: Subclassing not allowed
istisnasını aldım. Bu nasıl yapılır?SWT Ön tanımlı stillerle kontrol eder
6
A
cevap
8
Bir şey yapmamak için checkSubclass yöntemini geçersiz kılmanız gerekir, aksi halde alt sınıflamaya izin verilmediğinden şikayetçi olur - çünkü genellikle standart bileşenleri gerçekten geçersiz kılmamalısınız.
@Override
protected void checkSubclass() {
// Disable the check that prevents subclassing of SWT components
}
Delegasyonu kullanarak ilkel denetimleri içeren özel widget'lar oluşturmayı da düşünmelisiniz. Örneğin, özel kurulumla birlikte Metin widget'ını içerecek MyText'i oluşturabilirsiniz.
Hatırlanması gereken şey, SWT'nin her platformda doğal olarak görünen standart denetimler sağlamasıdır. Yine de, standart bileşenlerin parlatılmasına hala izin verilir ve hatta üretim yazılımında bir zorunluluktur.
4
Bu sorun için SWT Faq'a bakın. Ayrıca, özel widget'lar nasıl yazılacağını da görebilirsiniz.
Çok teşekkürler;) – marioosh