2010-11-27 65 views
1

所以我有一個JFrame,其中它有一堆JPanel,它被稱爲venPanel。當我點擊venPanel時,我想讓JFrame在佈局的東邊添加一個新的JPanel(因爲JFrame使用了邊框佈局)。我如何在我的venPanel課程中實現這一目標?目前對於venPanelmouseClick動作偵聽器實現爲:單擊一個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(); 
    } 

} 

哪裏GUIVenDetailsJPanel我想添加到JFrame以東.. 我希望這個問題是清楚..

回答

2

東西像:

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

是的,如果再次發生此事件,請考慮從JFrame中刪除現有的`GUIVenDetails`,然後再添加一個新的GUIVenDetails? – 2010-11-27 16:54:58

2

或者你可以添加一個JPanel到使用CardLayout,然後交換東通過調用CardLayout方法。