一、创建主窗体MDIFrame
二、设置主窗体多文档模式
public class SelectiveMainFrame extends javax.swing.JFrame {
//创建多文档窗体模式
MainDesktopPane MainDesktoPane=new MainDesktopPane();
/**
* Creates new form SelectiveMainFrame
*/
public SelectiveMainFrame() {
initComponents();
this.setContentPane( MainDesktoPane);
}
三、创建其他内部窗体(JInternalFrame)
a) AddInternalFrame
b) QueryInterFrame
四、在主窗体上添加菜单(编辑文本和更改变量名)
五、内部窗体设置单例模式
public class SysCourseFrame extends javax.swing.JInternalFrame {
//子窗体单例模式
//1.创建一个私有静态对象
private static SysCourseFrame addFrame=new SysCourseFrame ();
/**
* Creates new form SysTeacherFrame
*/
//2 创建方法私有化
private SysCourseFrame () {
initComponents();
this.btnAdd.setEnabled(false);
this.btnSave.setEnabled(false);
this.btnDelete.setEnabled(false);
}
//3 提供一个返回单列对象的公共方法
public static SysCourseFrame getInstance(){
return addFrame;
}
六、给主窗体添加菜单事件,弹出内部窗体
private void courseMenuItemActionPerformed(java.awt.event.ActionEvent evt) {
//获得弹出窗体对象
SysCourseFrame addFrame=new SysCourseFrame.getInstance();
//将窗体移除
this.MainDesktoPane.remove(addFrame);
//将对象添加到窗体
this.MainDesktoPane.add(addFrame);
//显示
addFrame.setVisible(true);
//显示在最前
addFrame.toFront();
try {
//当前被选中
addFrame.setSelected(true);
} catch (PropertyVetoException ex) {
Logger.getLogger(SelectiveMainFrame.class.getName()).log(Level.SEVERE, null, ex);
}
}
七、详细设置内部窗体控件(标注为变量名)
a) AddInternalFrame(注意初始化系部和班级)
b) QueryInternalFrame
八、设置系部和班级的级联(对系部添加item事件)
九、创建Student实体类(java 类)
十、创建StudentManager类(java类)