2013-08-02 107 views
0

我正在Java桌面應用程序中工作,並且我不熟悉JAVA,所以在切換面板時遇到問題,所以當我從JMenu中選擇JMenuItem時,實際面板應該會更改。 我有一個主要的JFrame,只有一個面板,所以我怎麼可以添加其他小組別人的JMenuitem,在相同的JFrame,我試試這個代碼:Java在一個Jframe面板之間切換

private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) { 
    TextArea ta; 

    Dimension d = mainPanel.getSize(); 
    mainPanel.removeAll();   
    JPanel painel3 = new JPanel(); 
    painel3.setSize(d); 
    ta = new TextArea(); 
    ta.setSize(d); 

    painel3.add(ta); 

    JScrollPane scrollPane = new JScrollPane(); 
    scrollPane.add(painel3); 
    mainPanel = painel3; 
} 
+1

請檢查[如何使用CardLayout](http://docs.oracle.com/javase/tutorial/uiswing/layout/card.html)適合您的情況 –

回答

0

喜歡的東西:

private void menuItem1ActionPerformed(ActionEvent evt) { 
    scrollPane.getViewport().removeAll(); 
    scrollPane.getViewport().add(panel1); 
}           

private void menuItem2ActionPerformed(ActionEvent evt) { 
    scrollPane.getViewport().removeAll(); 
    scrollPane.getViewport().add(panel2); 
}           

的JScrollPane在放置JPanel的通常無界的平面上有一個「視圖端口」。 所以不會立即添加到滾動窗格。然而,對於初始化,人們可以做new JScrollPane(panel3)