içeriğini değiştirmek için bir düğmeyi tıklattıktan sonra swt kompozit yeniden çizim yapar SWT'de yeniyim. Üzerinde çalıştığım projede, üzerinde 3 çocuk kompozit bulunan ana bir kompozit var. Üst kompozit düğmelerden oluşur ve orta kompozit içeriği görüntülemek içindir ve alt kompozit diğer amaç içindir. Olması gereken şey, üstteki bileşikteki bir düğmeyi tıkladığımda, ortadaki bileşikteki içerik değişikliğini tetiklemesi gerektiğidir. bu idam edildi i düğmesine ve kod üstünde tıklayıp sonra şu anda buBileşik
public void widgetSelected(SelectionEvent e) {
/* Retrieve the contents that are currently in middle composite*/
Composite currentCenterComposite = EMWindow.getCenterCompsiteState();
/* Retrieve the main composite*/
Composite outerComposite=EMWindow.getOuterCompsiteState();
if ((currentCenterComposite != null) && (!currentCenterComposite.isDisposed())) {
/* Remove children that are already laid out */
Object[] children = currentCenterComposite.getChildren();
for (int i = 0; i < children.length; i++) {
((Composite)children[i]).dispose();
}
}
currentCenterComposite = new CenterComp(currentCenterComposite);
GridData gd_centerComposite = new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1);
gd_centerComposite.minimumHeight = 50;
currentCenterComposite.setLayoutData(gd_centerComposite);
currentCenterComposite.layout(true);
//currentOuterComposite.layout();
outerComposite.layout(true);
}
Sorun yapmaya alışkınım koddur, hiçbir şey ı GUI, orta kompozit sonra içeriği yeniden boyutlandırmak kadar gerçekleşmesi görünüyor görünecek.
Benzer sorunla karşı karşıyayım. Bazı metin alanları ve düğmeleri olan bir kompozitim var. Bir düğmeye basıldığında yeni bir onay kutusu alanı eklemek istiyorum. Ekleniyor, ancak yalnızca kullanıcı arayüzünü yeniden boyutlandırarak görebiliyorum. Kompozisyonda arama düzenini denedim .. ama hiçbir şey yapmıyor ... Bu sorunu nasıl çözdüğümü bana bildirir misiniz? –