有没有办法在运行时更改Shell的样式?
我希望有一个不可调整大小的shell,但是当它全屏显示时,它能够用它的内容填充整个屏幕。有没有办法实现这个目标?
换句话说,当Shell不可调整大小并且它有例如背景图像时,我会全屏显示:
另一方面,当Shell可调整大小并且我全屏显示时,我得到了这个:
所以想获得第二个效果但是没有可调整大小的Shell。
任何帮助都将不胜感激。
答案 0 :(得分:1)
根据Stefan的评论,我能够听到调整大小事件并检查全屏标志,在全屏显示时将外壳尺寸适当调整为显示器大小当没有时,正常大小。这里的代码就是诀窍:
shell.addListener(SWT.Resize, new Listener() {
@Override
public void handleEvent(Event arg0) {
if (shell.getFullScreen()) {
Rectangle r = getMonitorSize(shell);
shell.setSize(r.width, r.height);
shell.redraw();
} else {
shell.setSize(WINDOW_WIDTH, WINDOW_HEIGHT);
shell.redraw();
}
}
});