使用Java GUI SWT打开一个窗口,在后台打开,在所有其他窗口下面

时间:2012-02-07 03:04:39

标签: java user-interface window swt

任务:在所有其他窗口上使用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);

             }
        });     
    }

我尝试了无数次更改,但窗口仍然在所有其他窗口下打开。

我很感激你的帮助 的问候,罗恩

0 个答案:

没有答案