Tôi muốn tắt kích thước cửa sổ. Bất kỳ ý tưởng?SWT Java: Cách ngăn cửa sổ đổi kích thước?
Trả lời
Bạn có thể chỉ định các bit phong cách Shell
bằng cách sử dụng các nhà xây dựng hai arg . Các bit phong cách mặc định là SWT.SHELL_TRIM
:
public static final int SHELL_TRIM = CLOSE | TITLE | MIN | MAX | RESIZE;
Bạn thực sự muốn loại bỏ các bit RESIZE
. Nếu bạn đang tạo của riêng bạn Shell
:
final Shell shell = new Shell(parentShell, SWT.SHELL_TRIM & (~SWT.RESIZE));
Nếu bạn đang mở rộng Dialog
, bạn có thể ảnh hưởng đến các bit kiểu vỏ bằng overridding getShellStyle
:
@Override
protected int getShellStyle()
{
return super.getShellStyle() & (~SWT.RESIZE);
}
Bạn có thể kiểm soát đồ nội thất khi bạn khai báo vỏ. Tôi nghĩ rằng ví dụ này làm những gì bạn muốn;
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();
}
}
cảm ơn, thực sự tôi đã giải quyết nó trong khi chờ đợi bằng cách thêm: "Shell mới (hiển thị, SWT.CLOSE | SWT.TITLE)" và câu trả lời của bạn cũng giống nhau nhưng có thêm MIN – alhcr
Tôi không chắc chắn về điều đó, nhưng tôi nghĩ rằng bạn chỉ có thể thả sự kiện SWT.Resize như thế này:
shell.addListener (SWT.Resize, new Listener() {
public void handleEvent (Event e)
{
return;
}
});
Điều này không hoàn toàn hoạt động trong thực tế - thay đổi kích thước Trình lắng nghe được kích hoạt sau khi cửa sổ đã được thay đổi kích thước, không phải trước đó, do đó, thiết lập 'e.doit' thành false không có hiệu lực. Trên một số nền tảng, bạn có thể thử thiết lập kích thước của vỏ ** thành **, nhưng điều này có vẻ lạ trên một số nền tảng (đặc biệt là thay đổi kích thước wireframe hoặc nền tảng cho phép thay đổi kích thước trước khi kích hoạt sự kiện đó. Trên các nền tảng khác, bạn thực sự nhận được một vòng lặp vô hạn của các sự kiện khi bạn thay đổi kích thước một trình bao bên trong trình lắng nghe thay đổi kích thước (trừ khi bạn đặt cờ rằng bạn đang thay đổi kích thước.) –
- 1. ngăn div di chuyển trên cửa sổ đổi kích thước
- 2. Java setResizable (false) thay đổi kích thước cửa sổ (swing)
- 3. Ngăn người dùng thay đổi kích thước cửa sổ/kích thước biểu mẫu
- 4. JFrame: Cách tắt kích thước cửa sổ?
- 5. Cách đổi kích thước cửa sổ trong python opencv2
- 6. C# cách ngăn người dùng thay đổi kích thước cửa sổ ứng dụng của tôi?
- 7. Cửa sổ kích hoạt thay đổi kích thước cửa sổ bật lửa jQuery UI
- 8. Bắt kích thước tiêu đề khác nhau bằng cách thay đổi kích thước cửa sổ
- 9. Autolayout đang thay đổi kích thước cửa sổ của tôi
- 10. thay đổi kích thước lưới khi đổi kích thước cửa sổ trình duyệt
- 11. JQUERY UI Accordion Thay đổi kích thước trên cửa sổ Thay đổi kích thước?
- 12. Điều gì ngăn cản tôi thay đổi kích thước (giảm kích thước) cửa sổ của tôi tạo thành đối tượng?
- 13. fullcalendar - thay đổi kích thước lịch trên cửa sổ thay đổi kích thước
- 14. Tự động thay đổi kích thước hàng TableLayoutPanel khi cửa sổ được thay đổi kích thước
- 15. Thay đổi kích thước svg khi cửa sổ được thay đổi kích thước trong d3.js
- 16. Thay đổi kích thước và định kích thước cửa sổ bật lên GWT khi cửa sổ trình duyệt đổi kích thước
- 17. Làm thế nào tôi có thể ngăn Emacs thay đổi kích thước cửa sổ của tôi?
- 18. emacs lập trình thay đổi kích thước cửa sổ
- 19. Scrollable Composite - tự động thay đổi kích thước - swt
- 20. Chiều rộng tối thiểu trong đổi kích thước cửa sổ
- 21. Android - nhiều trường EditText trong cửa sổ đổi kích thước
- 22. Thay đổi kích thước cửa sổ theo chiều dọc
- 23. Cho phép thay đổi kích thước cửa sổ pyGame
- 24. Đóng cửa sổ chia nhỏ trong Vim mà không thay đổi kích thước cửa sổ khác
- 25. Tự động thay đổi kích thước div dựa trên kích thước của cửa sổ trình duyệt
- 26. sửa kích thước cửa sổ trong vim
- 27. Thay đổi kích thước cửa sổ thành kích thước đã đặt trong Linux
- 28. Lấy kích thước cửa sổ Tkinter
- 29. Bật thanh cuộn trong cửa sổ Java SWT
- 30. Chỉnh sửa kích thước tự động của Gridpanel khi thay đổi kích thước cửa sổ
thể trùng lặp của [cửa sổ không thay đổi kích thước với JFace] (http://stackoverflow.com/questions/5191515/non-resizable-window-with-jface) –