Pencerenin yeniden boyutlandırılmasını devre dışı bırakmak istiyorum. Herhangi bir fikir?SWT Java: Pencerenin yeniden boyutlandırılmasını nasıl önleyebilirim?
cevap
İki-arg kurucu kullanarak Shell
tarzı bitlerini belirtebilirsiniz . varsayılan stil bitleri SWT.SHELL_TRIM
şunlardır:
public static final int SHELL_TRIM = CLOSE | TITLE | MIN | MAX | RESIZE;
Aslında RESIZE
bit dışlamak istiyorum. Eğer Shell
Kendi oluşturuyorsanız:
final Shell shell = new Shell(parentShell, SWT.SHELL_TRIM & (~SWT.RESIZE));
Eğer Dialog
uzanan ediyorsanız, getShellStyle
ı iptal ederek kabuk tarzı bit etkileyebilir: [JFace ile Sigara boyutlandırılabilir penceresinin] arasında
@Override
protected int getShellStyle()
{
return super.getShellStyle() & (~SWT.RESIZE);
}
Kabuğu bildirdiğinizde mobilyaları kontrol edebilirsiniz. Bence bu örnek istediğini yapıyor;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
public class FixedWindow {
public static void main(String[] args) {
Display display = new Display();
//final Shell shell = new Shell(display); //defaults
//final Shell shell = new Shell(display, SWT.CLOSE | SWT.TITLE | SWT.MIN | SWT.MAX); //can be maximised
final Shell shell = new Shell(display, SWT.CLOSE | SWT.TITLE | SWT.MIN); // fixed but can be minimised
//final Shell shell = new Shell(display, SWT.TITLE); // fixed, uncloseable, unminimisable can only be removed by OS killing JVM.
Rectangle boundRect = new Rectangle(0, 0, 1024, 768);
shell.setBounds(boundRect);
Rectangle boundInternal = shell.getClientArea();
shell.setText("Fixed size SWT Window.");
shell.open();
final Text text = new Text(shell, SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER);
text.setEditable(true);
text.setEnabled(true);
text.setText("Oh help!");
text.setBounds(boundInternal);
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
}
Teşekkürler, aslında ekleyerek şunu çözdüm: "yeni Kabuk (ekran, SWT.CLOSE | SWT.TITLE)" ve cevabınız aynısını yapar ama ek olarak MIN – alhcr
bu konuda emin değilim, ama sadece bu gibi SWT.Resize olayı bırakabilirsiniz düşünüyorum:
shell.addListener (SWT.Resize, new Listener() {
public void handleEvent (Event e)
{
return;
}
});
var. Bu pratikte pek işe yaramıyor - yeniden boyutlandırma Pencere yeniden boyutlandırıldıktan sonra değil, daha sonra değil, yani e.doit’in false değerinin ayarlanmasının etkisiz kalmasına neden olur. Bazı platformlarda, kabuğun boyutunu ** geri ** ayarlayabiliyorsunuz. Ancak bu, bazı platformlarda (özellikle tel çerçevenin yeniden boyutlandırılmasıyla) veya bu olayı ateşlemeden önce yeniden boyutlandırmaya izin veren platformlarda tuhaf görünüyor. Diğer platformlarda, yeniden boyutlandırılan bir dinleyicinin içindeki bir kabuğu yeniden boyutlandırdığınızda (aslında boyutu değiştirdiğiniz bir bayrağı ayarlamadığınız sürece) sonsuz bir olay döngüsü elde edersiniz. –
- 1. Yazı tiplerinin yeniden boyutlandırılmasını nasıl engelleyebilirim?
- 2. UIImage'ın bir UIButton için yeniden boyutlandırılmasını önleme
- 3. Yalnızca JTable'ın otomatik olarak yeniden boyutlandırılmasını etkinleştirme
- 4. IE'de görüntülerin css ile yeniden boyutlandırılmasını nasıl sağlarız?
- 5. Java/SWT Arabirim Oluşturucusu/Etiketin nasıl ayarlanacağı
- 6. AppSettings'deki değişiklik, Uygulamamı yeniden başlatmalı. Nasıl önleyebilirim?
- 7. Kullanıcının QTableWidget sütunlarını yeniden boyutlandırmasını nasıl önleyebilirim?
- 8. SWT:
- 9. Kaydırılabilir Kompozit - otomatik yeniden boyutlandırma - swt
- 10. Java SWT kabuk penceresi kapanış olayı
- 11. Bir Java SWT penceresinde kaydırma çubuklarını etkinleştirme
- 12. Kakao programında bir pencerenin içine ve dışına görünümü nasıl kaydırabilirim
- 13. Swt resmi nasıl çizilir?
- 14. Pencerenin sonunda mouseup nasıl algılanır?
- 15. Pencerenin IE8 standartları modunda gerçekten yeniden boyutlandırılıp kaydedilmediğini nasıl anlayabilirim?
- 16. Pencerenin konumunu yeniden yüklemeden nasıl değiştirebilirim ve # hack?
- 17. App_data'dan klasör silindiğinde asp.net'in yeniden derlenmesini nasıl önleyebilirim?
- 18. Geriye doğru gitme durumunda exoplayer'ın yeniden yüklenmesini nasıl önleyebilirim?
- 19. Pencerenin adı nasıl kapatılır?
- 20. Pencerenin konumu nasıl alınır?
- 21. HexString, SWT Color'a nasıl dönüştürülür?
- 22. Java - BorderLayout EAST'un ekranın kenarına sarılmasını nasıl önleyebilirim?
- 23. JFace/SWT: InputDialog
- 24. Yuvarlama Ondalıklarını Nasıl Önleyebilirim?
- 25. Parolaların kaydedilmesini nasıl önleyebilirim?
- 26. Selenium WebDriver'da Java ile mevcut tarayıcı penceresi nasıl yeniden boyutlandırılır?
- 27. Tarayıcı penceresini yeniden boyutlandırdığımda yeniden boyutlandırmayı nasıl yeniden boyutlandırabilirim?
- 28. Bir Javascript işleviyle nasıl konuşulur SWT
- 29. SWT ile bileşenlerin üst kısmı nasıl değiştirilir?
- 30. java resmini yeniden boyutlandırma
olası yinelenen (http://stackoverflow.com/questions/5191515/non-resizable-window-with-jface) –