2011-08-26 46 views
0

我正在處理時間表預訂應用程序,當我運行它顯示組件(總框架)的項目時,但是我希望當按鈕重新加載時,組件應該被吐出。一個低於其他溢出)???重新加載組件框架

+0

你的意思是** **裂,對不對? –

+0

亞即時使用相同的框架一個在另一個下面,但我可以做到這一點第一次當項目運行 – Ganesh

+0

@哈里快樂我需要當按鈕點擊重新加載其他 – Ganesh

回答

0

根據您的描述,我認爲您需要在點擊一個按鈕的同時在框架中添加splitpane,或者您已經在框架中有一個splitpane,並希望在點擊按鈕時添加面板。

因爲你可以做這樣的事情第一個選項:

final JFrame frame = new JFrame("Split test"); 
    frame.setSize(400, 400); 
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

    final JPanel jPanel2 = new JPanel(); 
    JLabel jLabel = new JLabel("I am added by click on button"); 
    jPanel2.add(jLabel); 

    final JPanel jPanel = new JPanel(); 
    JButton button = new JButton("Click me to add pane in split"); 
    jPanel.add(button); 

    button.addActionListener(new ActionListener() { 
     @Override 
     public void actionPerformed(ActionEvent arg0) { 
      JSplitPane pane = new JSplitPane(JSplitPane.VERTICAL_SPLIT); 
      pane.add(jPanel); 
      pane.add(jPanel2); 
      pane.setDividerLocation(frame.getHeight()/2); // set Divider location. 
      frame.remove(jPanel); 
      frame.add(pane); 
      frame.validate(); 
     } 
    }); 

    frame.add(jPanel); 
    frame.setVisible(true); 

如果你被困在一個稍後再嘗試這個辦法:

final JFrame frame = new JFrame("Split test"); 
    frame.setSize(400, 400); 
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

    final JSplitPane pane = new JSplitPane(JSplitPane.VERTICAL_SPLIT); 
    frame.add(pane); 

    pane.setEnabled(false); // stop user from clicking on divider of split pane. 

    final JPanel jPanel2 = new JPanel(); 
    JLabel jLabel = new JLabel("I am added by click on button"); 
    jPanel2.add(jLabel); 

    final JPanel jPanel = new JPanel(); 
    JButton button = new JButton("Click me to add pane in split"); 
    jPanel.add(button); 
    pane.add(jPanel); 

    button.addActionListener(new ActionListener() { 
     @Override 
     public void actionPerformed(ActionEvent arg0) { 
      pane.add(jPanel2); 
      pane.setDividerLocation(frame.getHeight()/2); // set Divider location. 
      pane.setEnabled(true); // let user change divider location. 
     } 
    }); 

    frame.setVisible(true); 
+0

k我會檢查使用代碼 – Ganesh