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

Java在一个Jframe的面板之间切换,java,swing,jframe,jpanel,Java,Swing,Jframe,Jpanel,我在Java桌面应用程序中工作,我不熟悉Java,我在面板之间切换时遇到问题,因此当我从JMenu中选择JMenuItem时,实际的面板应该会改变。 我有一个主Jframe,只有一个面板,因此如何为其他JmenuItem添加其他面板,在同一Jframe中,我尝试以下代码: private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) { TextArea ta; Dimension d = mai

我在Java桌面应用程序中工作,我不熟悉Java,我在面板之间切换时遇到问题,因此当我从JMenu中选择JMenuItem时,实际的面板应该会改变。 我有一个主Jframe,只有一个面板,因此如何为其他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; 
}
比如:

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的一般无边界平面上有一个“查看端口”。 因此不会立即添加到滚动窗格中。您可以使用
新的JScrollPane(面板3)
进行初始化。

请检查是否适合您的情况