2010-11-27 6 views
1

그래서 JFrame이 있는데 JPanel이라는 무리가 있는데 venPanel입니다. venPanel을 클릭하면 JFrame에 국경 레이아웃이 사용되므로 레이아웃의 동쪽에 JPanel을 새로 추가하고 싶습니다. 내 venPanel 클래스에서이 문제를 어떻게 해결할 수 있습니까? 현재 venPanelmouseClick 액션 청취자는 다음과 같이 구현됩니다 GUIVenDetails 내가 JFrame의 동쪽에 추가하고 싶은 JPanel입니다JFrame에서 JPanel을 클릭하십시오.

@Override 
public void mouseClicked(MouseEvent arg0) { 
    try { 
     GUIVenDetails vendetail = new GUIVenDetails(ven); 
    } catch (MalformedURLException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 

} 

.. 내가 질문은 분명하다 바랍니다 ..

답변

2

뭔가 같은 :

JPanel source = (JPanel)event.getSource(); 
JPanel parent = (JPanel)source.getParent(); 
parent.add(anotherPanel, BorderLayout.EAST); 
parent.revalidate(); 
+0

예,이 이벤트가 다시 발생하면 새 것을 추가하기 전에'JFrame'에서 기존의'GUIVenDetails'를'제거 '하시겠습니까? –

2

또는 당신은 CardLayout를 사용하고을 교환 EAST에 JPanel를 추가 할 수 있습니다 그 자리에서 CardLayout 메서드를 호출하여.

관련 문제