Java在一个Jframe的面板之间切换

时间:2013-08-02 15:56:16

标签: java swing jframe jpanel

我正在使用Java桌面应用程序而且我不熟悉JAVA,我在面板之间切换时遇到问题,因此当我从JMenu中选择一个JMenuItem时,实际的面板应该会改变。 我有一个主Jframe,只有一个Panel,所以如何为其他JmenuItem添加其他面板,在同一个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 个答案:

答案 0 :(得分: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)进行初始化。