【发布时间】:2015-12-22 00:23:24
【问题描述】:
我正在使用 SWT 4.4.2 (win32) 为一个简单的测试应用程序构建图形用户界面。
通过按下按钮或菜单项,我想显示一个新窗口。但是这个窗口不应该是一个模态对话框。它应该是一种覆盖窗口,因此应用程序不会被阻塞。
在启动时,我首先创建程序的所有必要组件:
private void initUI() {
mainWindow = new Shell(display);
...
overlayWindow = new Shell(mainWindow, SWT.MODELESS);
overlayWindow.setLocation(200, 200);
overlayWindow.setSize(160, 33);
overlayWindow.setText("Overlay");
overlayWindow.setVisible(false);
label = new Label(overlayWindow, SWT.CENTER);
label.setLocation(10, 10);
label.setSize(140, 13);
label.setText("Test");
}
稍后我检查覆盖窗口是否可见,因为可见性取决于某些程序选项,如果此时窗口隐藏,我想显示它:
if (!overlayWindow.getVisible()) {
overlayWindow.setVisible(true);
overlayWindow.setFocus();
}
我是 SWT 的新手,所以我希望我没有做错任何事情。
我的问题是可见性设置为 true(已调试),但我看不到带有“测试”消息的窗口。始终只有主窗口可见。
【问题讨论】:
标签: java window swt visibility