📄 mainframe.java
字号:
package com.javasme.main;/** * 系统主程序 * * 开发时间:07年03月07日 * * 开发人员:边疆 * * 应用技术:基本事件处理、JTabbedPane的使用 */import java.awt.BorderLayout;import java.awt.GridLayout;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.ComponentAdapter;import java.awt.event.ComponentEvent;import javax.swing.BorderFactory;import javax.swing.JCheckBoxMenuItem;import javax.swing.JLabel;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import javax.swing.JSeparator;import javax.swing.JTabbedPane;import javax.swing.JToolBar;import javax.swing.KeyStroke;import javax.swing.WindowConstants;import javax.swing.border.BevelBorder;import javax.swing.event.ChangeEvent;import javax.swing.event.ChangeListener;import com.javasme.dialog.DialogLogin;import com.javasme.longs.LookAndFeel;import com.javasme.longs.ObjectClasses;import com.javasme.util.FormChecked;import com.javasme.util.LogChecked;import com.javasme.util.TimeDisplay;public class MainFrame extends javax.swing.JFrame { /** * */ private static final long serialVersionUID = 1L; private JMenuBar menuBar; private JMenu menuFile; private JMenu menuHelp; private JMenu menuWindow; private JMenu menuLog; private JMenuItem menuItemAbout; private JMenuItem menuItemHelp; private JMenuItem menuItemExit; private JSeparator separator1; private JSeparator jSeparator1; private JSeparator jSeparator2; private JSeparator jSeparator3; private JSeparator jSeparator4; private JToolBar toolBar; private JLabel labelStudents; private JLabel labelTeachers; private JLabel labelCourses; private JLabel labelClasses; private JLabel labelTime; private JLabel labelNowTime; private JCheckBoxMenuItem checkBoxMenuItemStart = ObjectClasses.checkBoxMenuItemStart; private JCheckBoxMenuItem checkBoxMenuItemAddTeachers = ObjectClasses.checkBoxMenuItemAddTeachers; private JCheckBoxMenuItem checkBoxMenuItemAddStudents = ObjectClasses.checkBoxMenuItemAddStudents; private JCheckBoxMenuItem checkBoxMenuItemAddCourses = ObjectClasses.checkBoxMenuItemAddCourses; private JCheckBoxMenuItem checkBoxMenuItemAddClasses = ObjectClasses.checkBoxMenuItemAddClasses; private JCheckBoxMenuItem checkBoxMenuItemStudents = ObjectClasses.checkBoxMenuItemStudents; private JCheckBoxMenuItem checkBoxMenuItemTeachers = ObjectClasses.checkBoxMenuItemTeachers; private JCheckBoxMenuItem checkBoxMenuItemCourses = ObjectClasses.checkBoxMenuItemCourses; private JCheckBoxMenuItem checkBoxMenuItemClasses = ObjectClasses.checkBoxMenuItemClasses; private JCheckBoxMenuItem checkBoxMenuItemRetrieval = ObjectClasses.checkBoxMenuItemRetrieval; private JCheckBoxMenuItem checkBoxMenuItemHelp = ObjectClasses.checkBoxMenuItemHelp; private JCheckBoxMenuItem checkBoxMenuItemAbout = ObjectClasses.checkBoxMenuItemAbout; private JMenuItem menuItemLogout = ObjectClasses.menuItemLogout; private JMenuItem menuItemLogin = ObjectClasses.menuItemLogin; private JLabel labelStudentsNumber = ObjectClasses.labelStudentsNumber; private JLabel labelTeachersNumber = ObjectClasses.labelTeachersNumber; private JLabel labelCoursesNumber = ObjectClasses.labelCoursesNumber; private JLabel labelClassesNumber = ObjectClasses.labelClassesNumber; private JTabbedPane tabbedPane = ObjectClasses.tabbedPane; public MainFrame() { super(); initGUI(); /** * 风格设置 */ LookAndFeel.UpdateLookAndFeel(this); LogChecked.loginChecked(); } private void initGUI() { try { setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); pack(); setTitle("阿B信息管理系统"); setSize(800, 600); /* * 设置窗口显示居中 */ int windowsWidth = Toolkit.getDefaultToolkit().getScreenSize().width;// 获取桌面宽度 int windowsHeight = Toolkit.getDefaultToolkit().getScreenSize().height;// 获取桌面高度 int frameWidth = getSize().width;// 获取窗体宽度 int frameHeight = getSize().height;// 获取窗体高度 int startX = (windowsWidth - frameWidth) / 2;// 计算窗体显示的初始横坐标 int startY = (windowsHeight - frameHeight) / 2;// 计算窗体显示的初始纵坐标 this.setLocation(startX, startY);// 设置窗体显示位置 getContentPane().setBackground(new java.awt.Color(236, 233, 216)); { toolBar = new JToolBar(); getContentPane().add(toolBar, BorderLayout.SOUTH); toolBar.setLayout(new GridLayout(1, 8)); toolBar.setBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED)); toolBar.setBackground(new java.awt.Color(236, 233, 216)); { labelStudents = new JLabel(); toolBar.add(labelStudents); labelStudents.setText("学生总数:"); labelStudents.setFont(new java.awt.Font("宋体", 0, 12)); } { toolBar.add(labelStudentsNumber); labelStudentsNumber.setForeground(new java.awt.Color(0, 0, 255)); } { toolBar.addSeparator(); } { labelTeachers = new JLabel(); toolBar.add(labelTeachers); labelTeachers.setText("教师总数:"); labelTeachers.setFont(new java.awt.Font("宋体", 0, 12)); } { toolBar.add(labelTeachersNumber); labelTeachersNumber.setForeground(new java.awt.Color(0, 0, 255)); } { toolBar.addSeparator(); } { labelCourses = new JLabel(); toolBar.add(labelCourses); labelCourses.setText("课程总数:"); labelCourses.setFont(new java.awt.Font("宋体", 0, 12)); } { toolBar.add(labelCoursesNumber); labelCoursesNumber.setForeground(new java.awt.Color(0, 0, 255)); } { toolBar.addSeparator(); } { labelClasses = new JLabel(); toolBar.add(labelClasses); labelClasses.setText("班级总数:"); labelClasses.setFont(new java.awt.Font("宋体", 0, 12)); } { toolBar.add(labelClassesNumber); labelClassesNumber.setForeground(new java.awt.Color(0, 0, 255)); } { toolBar.addSeparator(); } { labelNowTime = new JLabel(); toolBar.add(labelNowTime); labelNowTime.setText("当前时间:"); labelNowTime.setFont(new java.awt.Font("宋体", 0, 12)); } { labelTime = new JLabel(); new TimeDisplay(labelTime).start(); toolBar.add(labelTime); labelTime.setForeground(new java.awt.Color(0, 0, 255)); } } this.addComponentListener(new ComponentAdapter() { public void componentResized(ComponentEvent evt) { rootComponentResized(evt); } }); { getContentPane().add(tabbedPane, BorderLayout.CENTER); tabbedPane.setTabPlacement(JTabbedPane.LEFT); tabbedPane.setFont(new java.awt.Font("宋体", 0, 12)); tabbedPane.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent evt) { tabbedPaneStateChanged(evt); } }); } { menuBar = new JMenuBar(); setJMenuBar(menuBar); menuBar.setBackground(new java.awt.Color(236, 233, 216)); { menuFile = new JMenu(); menuBar.add(menuFile); menuFile.setText("文件(F)"); menuFile.setFont(new java.awt.Font("宋体", 0, 12)); menuFile.setBackground(new java.awt.Color(236, 233, 216)); { menuLog = new JMenu(); menuFile.add(menuLog); menuLog.setText("登录(L)"); menuLog.setMnemonic('L'); menuLog.setBounds(56, 0, 56, 21); menuLog.setFont(new java.awt.Font("宋体", 0, 12)); menuLog.setBackground(new java.awt.Color(236, 233, 216)); { menuLog.add(menuItemLogin); menuItemLogin.setText("进入系统(I)"); menuItemLogin.setMnemonic('I'); menuItemLogin.setAccelerator(KeyStroke.getKeyStroke("ctrl I")); menuItemLogin.setBackground(new java.awt.Color(236, 233, 216)); menuItemLogin.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { menuItemLoginActionPerformed(evt); } }); } { menuLog.add(menuItemLogout); menuItemLogout.setText("退出系统(O)"); menuItemLogout.setMnemonic('O'); menuItemLogout.setAccelerator(KeyStroke.getKeyStroke("ctrl O")); menuItemLogout.setBackground(new java.awt.Color(236, 233, 216)); menuItemLogout.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { menuItemLogoutActionPerformed(evt); } }); } } { separator1 = new JSeparator(); menuFile.add(separator1); separator1.setFont(new java.awt.Font("宋体", 0, 12)); separator1.setBackground(new java.awt.Color(236, 233, 216)); } { menuItemExit = new JMenuItem(); menuFile.add(menuItemExit); menuItemExit.setText("关闭(E)"); menuItemExit.setMnemonic('E'); menuItemExit.setAccelerator(KeyStroke.getKeyStroke("ctrl E")); menuItemExit.setFont(new java.awt.Font("宋体", 0, 12));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -