我的主界面是一个Frame,大致可分为左右两部分,
左边是操作栏,五个Button,一列;
右边是一个JPanel,长方形,空的;我的想法是点击左侧一个按钮,右边panel显示相应内容,切换按钮时显示对应内容;我的实现方式是,button添加监听后跳转,将主界面的参数mainFrame,mainContainer,mainPanel传送到跳转界面,界面接收传递过来的参数,在mainPanel上添加布局,能正常显示;我的问题是,当我点击一个按钮实现功能后,当我点击另一个按钮的时候,上一界面的右侧布局还存在我分析原因,是因为主界面的右侧是空的,而这些按钮的监听都是在主界面上实现的,所以我即使
mainPanel.removeAll(),也没有用,因为我传递到跳转界面本身就是空的;所以求助各位,怎样解决这个问题呢?或者哪种方式能实现我的想法呢swingbutton
左边是操作栏,五个Button,一列;
右边是一个JPanel,长方形,空的;我的想法是点击左侧一个按钮,右边panel显示相应内容,切换按钮时显示对应内容;我的实现方式是,button添加监听后跳转,将主界面的参数mainFrame,mainContainer,mainPanel传送到跳转界面,界面接收传递过来的参数,在mainPanel上添加布局,能正常显示;我的问题是,当我点击一个按钮实现功能后,当我点击另一个按钮的时候,上一界面的右侧布局还存在我分析原因,是因为主界面的右侧是空的,而这些按钮的监听都是在主界面上实现的,所以我即使
mainPanel.removeAll(),也没有用,因为我传递到跳转界面本身就是空的;所以求助各位,怎样解决这个问题呢?或者哪种方式能实现我的想法呢swingbutton
mainFrameContentPane = mainFrame.getContentPane();
mainFrameContentPane.setLayout(null); mainFrameContentPane.add(mainJPanel);
mainJPanel.setBounds(125, 70, 665, 420);
//---- scheduleButton ----
scheduleButton.setText("\u65e5\u7a0b\u5b89\u6392");
scheduleButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
mainJPanel.removeAll();
new ScheduleManageFrame(mainFrame,mainFrameContentPane,mainJPanel,usernameString);
}
});
mainFrameContentPane.add(scheduleButton);
scheduleButton.setBounds(30, 130, 90, 25);//ScheduleManageFrame.java
public ScheduleManageFrame(JFrame mainFrame,Container mainFrameContentPane,JPanel mainJPanel,String username) {
mainJPanel.removeAll();
mainFrame1=mainFrame;
mainFrameContentPane1=mainFrameContentPane;
mainJPanel1=mainJPanel;
usernameString=username;
initComponents();
}
mainFrameContentPane1.setLayout(null);
mainJPanel1.setLayout(null);
mainJPanel1.add(addNewLessonsButton);//只列举了一个组件
addNewLessonsButton.setBounds(430, 25, 60, 23);
mainJPanel1.setBounds(125, 70, 665, 420);
右边是一个JPanel,长方形,空的;
我的想法是点击左侧一个按钮,右边panel显示相应内容,切换按钮时显示对应内容;程序加载就生成5个button,和5个jpanel.
一个button对应一个jpanel.
每个button的点击里都有控制他对应的jpanel.visible=true;其他的jpanel.visible=flase;
JPanel right = new JPanel(layout);
final String lmID = "LessonManager";
right.add(lessonmanager, lmID);layout.show(right, lmID);