任务:在所有其他窗口上使用Java SWT打开一个窗口(想象你自己打了记事本,然后在执行Notepad.exe之后,窗口在所有其他窗口上方打开。
问题: 我正在使用Java SWT进行GUI,每次打开一个窗口时,打开的窗口都会出现在所有其他窗口下面。
鉴于代码:
Display display = new Display();
shell = new Shell(display);
shell.setSize(750,750);
Monitor primary = display.getPrimaryMonitor();
Rectangle bounds = primary.getBounds();
Rectangle rect = shell.getBounds();
int x = bounds.x + (bounds.width - rect.width) / 2;
int y = bounds.y + (bounds.height - rect.height) / 2;
shell.setLocation(x, y);
roomColor = display.getSystemColor(SWT.COLOR_DARK_GREEN);
wallColor = display.getSystemColor(SWT.COLOR_RED);
doorColor = display.getSystemColor(SWT.COLOR_BLUE);
shell.setText("Maze");
createContents(shell,maze);
shell.open();
while (!shell.isDisposed())
{
if (!display.readAndDispatch())
{
display.sleep();
}
}
display.dispose();
....
....
public void createContents(Shell shell,final MazeInterface maze)
{
FillLayout myLayout = new FillLayout();
myLayout.type = SWT.VERTICAL;
shell.setLayout(myLayout);
Canvas canvas = new Canvas(shell,SWT.NONE);
canvas.setSize(shell.getSize());
canvas.addPaintListener(new PaintListener()
{
public void paintControl(PaintEvent e)
{
prepareMazeDrawing(e,maze);
}
});
}
我尝试了无数次更改,但窗口仍然在所有其他窗口下打开。
我很感激你的帮助 的问候,罗恩