Открытие окна с помощью Java GUI SWT, открывается в фоновом режиме, под всеми другими окнами - PullRequest
0 голосов
/ 07 февраля 2012

Задача : открыть окно с помощью Java SWT над всеми другими окнами (представьте, что вы нажимаете Блокнот, затем после выполнения Notepad.exe окно открывается над всеми остальными окнами.

Проблема: Я использую Java SWT для графического интерфейса, и каждый раз, когда я открываю окно, открытое окно появляется под всеми остальными окнами.

С учетом кода:

        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);

             }
        });     
    }

Я пробовал бесчисленные изменения, но окно все еще открыто под всеми другими окнами.

Буду признателен за вашу помощь С уважением, Рон

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...