2013-02-19 79 views
0

我想要在Java中使用類項目進行創意。創建彈出框架並管理多個框架

我有一個JFrame需要用戶的一些輸入,我想創建一種彈出式框架,將顯示來自輸入的圖形。

第二幀只會顯示圖形。我遇到麻煩意識到這一點。

我使用主要的JFrame的GUI生成器(Netbeans),起初我試圖創建一個空的JPanel,並將其設置爲可見按鈕,但這並沒有工作,我很快發現我couldn 「T。我不得不使用JFrame或其他容器明顯(我錯了嗎?)。

所以現在我在想,如何將信息傳遞給第二個窗格以獲取圖形信息?

無論如何,我只是尋找一些輸入或良好的做法,以實現這一點。我正在閱讀CardLayout,但這不是我想要的解決方案,因爲它需要我創建一個窗格來保存圖形組件。我只想讓圖形按鈕打開圖形窗格(或框架),並在用戶需要時關閉。主框架僅用於獲取圖形的輸入。感謝您的任何意見。

不久將有一個問題,關於如何其實我可以圖形的東西在Java中,但一次生病解決一個問題

+3

請參閱[使用多個JFrames,好/壞實踐?](http://stackoverflow.com/a/9554657/418556)看起來你是在'JDialog'或'JOptionPane'之後。 – 2013-02-19 05:14:46

+0

@AndrewThompson,我已經看到使用對話框的討論,但我對內部框架是新手,兩者之間是否有任何區別會影響使用對象的決定?在您提供的鏈接中,現在我可以清楚地看到多個JFrames被皺起了眉頭,所以我將避免頭痛,但只要能夠保持輸入的數據一致且易於處理圖形窗格,是否會有任何優勢在InternalFrames上使用對話框?謝謝。 – gandolf 2013-02-19 05:53:09

+0

如果可能有多個圖,那麼對於這些​​圖,具有'JInternalFrame'子元素的'JDesktopPane'可能是好的,或者也可以是每個選項卡中具有一個圖的'JTabbedPane'。對於單個圖形來說,對話框會很好。有很多可能性。 – 2013-02-19 08:06:09

回答

0

你可以創建另一個類彈出的JFrame這可能會是最好的主意。你可以這樣做:

public class PopupFrame extends JFrame{ 

    //Declare variable you wish to use for your graph here. 

    public PopupFrame(/* Pass in variable(s) that you will need to display the information. */) 
    { 
     super("Graph"); 

     //Set the graph variable equal to the variable to passed into the constructor. 

     add(/* Put in the variable that you just initialized above and that you declared outside of the constructor. */); 

     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     setSize(500,500);// Change to the dimension that you want. 
     setLocation(50,50);// You could also have the constructor give it these values if you want to center it on your parent window. 
     setVisible(true); 
    } 
} 

和主類,有這樣的事:

PopupFrame f = new PopupFrame(/* Graph variable(s) passed in here. */); 
f.show(); 

希望這是一些對你有用的。祝你好運!

+0

嗨@lonnez,這實際上是我想到的,通過將數據傳遞給構造函數,但是閱讀關於該問題的其他線程,似乎管理多個JFrame僅僅是一個糟糕的主意。但謝謝你的片段。 – gandolf 2013-02-19 05:54:50

+2

彈出的JFrame不是一個好主意。應用程序通常只會有一個JFrame。對於彈出窗口,您可以使用JDialog。 – camickr 2013-02-19 06:05:38