簡體   English   中英

Java SWT打開多個窗口

[英]Java SWT opening multiple windows

我有一個用Java SWT小部件構建的GUI,並且我試圖有多個窗口。 從我的主Shell ,創建一個新的Shell作為其父對象。 在新的窗口,我有ButtonsLabels ,並更新文本Labels 由於某些原因,當創建第二個新窗口並且我返回第一個窗口時,第二個標簽將更新,而不是當前窗口。 我打開新窗口的方式是:

NewWindow newWindow = new NewWindow(mainShell, 1, 2);
newWindow.open();

NewWindow類是:

public class NewWindow {
    Shell newShell;

    public NewWindow(Shell mainShell, int first, int second) {
        newShell = new Shell(mainShell, SWT.CLOSE | SWT.TITLE | SWT.MIN);
        newShell.setSize(629, 557);
        newShell.setText("New Window");
        newShell.setBackgroundMode(SWT.INHERIT_FORCE);
    }

    public void open() {
        newShell.open();
    }

    public void close() {
        newShell.setVisible(false);
    }

}

傳入的參數用於在每個窗口中定義與Windows按鈕和控件不同的參數。 我一定很想念或弄亂一些東西。 Java SWT從Button刷新多個Shell的答案似乎是我可能需要實現的東西,但是使用它時遇到了問題。 我應該如何解決這個問題?

我無法正確理解您的問題,但是我認為當您打開第二個窗口時,第一個窗口正在更新,而第二個窗口沒有更改。 如果這是您的問題,那么。 嘗試按以下步驟在“打開”中更改代碼。 這將使第二個Shell處於活動狀態,並且直到您關閉它,控件才會進入第一個Shell。

   public void open() {

      newShell.open();
       while (!newShell.isDisposed()) {
             if (!display.readAndDispatch()) {
                 display.sleep();
             }
         }
    }

不要嘗試多次打開窗口,而應該嘗試SWT Framework中的“向導”概念。 使用“向導”,您也可以從一個頁面導航到另一個頁面。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM