2013-08-02 2 views
0

Java 데스크톱 응용 프로그램에서 일하고 있어요. Java와 관련이 없으므로 패널 간 전환에 문제가 있습니다. 따라서 JMenu에서 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

[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); 
}           

내가 메인 JFrame의 단 하나 개의 패널, 그래서 어떻게 내가 같은 JFrame의에서, 다른 사람의 JMenuItem를 위해 다른 패널을 추가 할 수 있습니다,이 코드를 시도 JScrollPane에는, JPanel를 놓는 일반적으로 편중이 아닌 평면 상에 「뷰포트」가 있습니다. 그래서 스크롤 창에 즉시 추가되지 않습니다. 그러나 초기화를 위해 new JScrollPane(panel3)을 할 수 있습니다.