在菜单项中设置相应的component为想设置的panel就可以了 也可以先将原有的container中的component删除,再添加,注意最后调用JComponent的updateUI(); 一个例子,仅供参考: import java.awt.Color; import java.awt.event.ActionEvent; import java.awt.event.ActionListener;import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JSplitPane;public class Test extends JFrame{ public Test(){ constructUI(); }
private void constructUI() { final JSplitPane splitPane = new JSplitPane(); final JPanel pane1 = new JPanel(); pane1.setBackground(Color.BLUE); final JPanel pane2 = new JPanel(); pane2.setBackground(Color.GREEN); JButton btnTest = new JButton("Test"); splitPane.setLeftComponent(btnTest); splitPane.setRightComponent(pane1); getContentPane().add(splitPane);
也可以先将原有的container中的component删除,再添加,注意最后调用JComponent的updateUI();
一个例子,仅供参考:
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JSplitPane;public class Test extends JFrame{
public Test(){
constructUI();
}
private void constructUI() {
final JSplitPane splitPane = new JSplitPane();
final JPanel pane1 = new JPanel();
pane1.setBackground(Color.BLUE);
final JPanel pane2 = new JPanel();
pane2.setBackground(Color.GREEN);
JButton btnTest = new JButton("Test");
splitPane.setLeftComponent(btnTest);
splitPane.setRightComponent(pane1);
getContentPane().add(splitPane);
btnTest.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) {
if(splitPane.getRightComponent() == pane1){
splitPane.setRightComponent(pane2);
}
else{
splitPane.setRightComponent(pane1);
}
splitPane.updateUI();
}});
}
public static void main(String[] args) {
Test test = new Test();
test.setSize(100,100);
test.setVisible(true); }}
反之,panel2.setVisble(true)
为了防止引起混乱最好写个专门的方法来设置显示那个panelpublic void setVisible(JPanel viaiblePanel){
panel1.setVisible(false);
panel2.setVisible(false); panel1.setVisible(true); // do others
}