📄 mainframe.java
字号:
package view.mainframe;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.InputEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.Vector;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JEditorPane;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import javax.swing.JScrollPane;
import javax.swing.JTabbedPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.JToolBar;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import javax.swing.table.DefaultTableModel;
import org.jvnet.substance.skin.SubstanceMagmaLookAndFeel;
import org.jvnet.substance.skin.SubstanceOfficeBlue2007LookAndFeel;
import view.mainframe.guestconsumed.guestcheckoutframe.AdditionalConsumedframe;
import view.mainframe.guestconsumed.guestcheckoutframe.ConfirmDialog;
import view.mainframe.guestregister.ExitDialog;
import view.mainframe.guestregister.ModifyRegisterInfoFrame;
import view.mainframe.guestregister.RoomChangeFrame;
import view.mainframe.guestregister.RoomStatementFrame;
import view.mainframe.guestregister.guestcheckinframe.GuestCheckInFrame;
import view.mainframe.guestregister.reservationmanageframe.ReservationManageFrame;
import view.mainframe.guestregister.reservationmanageframe.registReservation;
import view.mainframe.operationqueryframe.GuestQueryFrame;
import view.mainframe.operationqueryframe.Manage;
import view.mainframe.operationqueryframe.WaiterFrame;
import view.mainframe.systemmaintenance.ConfirmChange;
import view.mainframe.systemmaintenance.PassWordModify;
import view.mainframe.systemmaintenance.SystemSetting;
import vo.ConsumedTypeInfo;
import vo.GoodsConsumedInfo;
import vo.Room;
import common.centerwindow.CenterWindow;
import common.checkinputvalue.Check;
import common.currenttime.JLabelTime;
import common.currenttime.JLabelTime1;
import common.method.RoomButton;
import common.txt.Help;
import control.consumedcontrol.ConsumedTypeSettingControl;
import control.consumedcontrol.GoodsConsumedControl;
import control.roomsetting.RoomSettingControl;
import dao.consumeddao.GuestConsumedDao;
import dao.reservation.ReservationDao;
/*******************************************************************************
* 主界面类
*
* @author 少彬
* @version version,2008.32.5
******************************************************************************/
public class MainFrame extends JFrame implements ActionListener {
private static MainFrame instance = null;// 单子设计模式,构造一个主类对象
private Hashtable hashtable = null;// 定义一个hash表对象
public static JFrame jFrameMainFrame = null; // @jve:decl-index=0:visual-constraint="10,54"
private JPanel jContentPaneMainFrame = null;
private JMenuBar jJMenuBarMainFrame = null;// 菜单条
private JMenu jMenuGuestRegister = null;// 宾客登记菜单
private JMenu jMenuAdditionalConsumed = null;// 增加消费菜单
private JMenu jMenuOperationQuery = null;// 业务查询菜单
private JMenu jMenuSystemMaintenance = null;// 维护菜单
private JToolBar jJToolBarBarMainFrame = null;// 工具栏
private JButton jButtonGuestCheckIn = null;// 宾客登记按纽
private JPanel jPanelLeft = null;// 左面板
private JTabbedPane jTabbedPaneLeft = null;// 主界面左jTabbedPanel
private JPanel jPanelRoomStatement = null;// 包间状态标签
private JPanel jPanelNotePad = null;// 便签面板
private JLabel jLabelRoomType = null;// 包间类型标签
private JLabel jLabelRoomNumber = null;// 包间号标签
private JLabel jLabelRoomName = null;// 包间名标签
private JLabel jLabelRoomStatement = null;// 包间状态标签
private JLabel jLabelGuestCheckInTime = null;// 宾客开房时间标签
private JLabel jLabelConsumedId = null;// 消费流水号标签
private JLabel jLabelgetRoomNumber = null;// 包间号标签
private JLabel jLabelgetRoomType = null;// 包间类型标签
private JLabel jLabelgetRoomName = null;// 包间名标签
private JLabel jLabelgetRoomStatement = null;// 包间状态标签
private JLabel jLabelgetGuestCheckInTime = null;// 宾客开房时间标签
private JLabel jLabelgetConsumedId = null;// 消费流水号标签
private JLabel jLabelRoomOverallStatement = null;// 包间总状态
private JLabel jLabelRoomOverallNumber = null;// 包间总量标签
private JLabel jLabelRoomInUseNumber = null;// 包间正在使用数
private JLabel jLabelRoomOutofUseNumber = null;// 包间未使用数
private JLabel jLabelRoomReservedNumber = null;// 包间预定数
private JLabel jLabelRoomStoppedNumber = null;// 包间停用数
private JLabel jLabelgetRoomOverallNumber = null;// 包间总量数标签
private JLabel jLabelgetRoomInUseNumber = null;// 获得包间使用量标签
private JLabel jLabelgetRoomOutofUseNumber = null;// 获得包间未使用数
private JLabel jLabelgetRoomReservedNumber = null;// 获得包间预定数
private JLabel jLabelgetRoomStoppedNumber = null;// 获得包间停用数
private JButton jButtonAddCurrentTime = null;// 增加当前时间按纽
private JButton jButtonCalculator = null;// 计算按纽
private JButton jButtonReset = null;// 重置按纽
private JEditorPane jEditorPaneNotePad = null;// 便签面板
private JTabbedPane jTabbedPaneRoom = null;// jTabbedPane,用来加载 Panel
public JPanel jPanelSmallRoom = null;// 小包间面板
private JPanel jPanelMiddleRoom = null;// 中型包间面板
private JPanel jPanelBigRoom = null;// 大型包间面板
private JPanel jPanelLuxuryRoom = null;// 豪华包间面板
private JButton jButtonReservationManage = null;// 预定管理按纽
private JButton jButtonGuestCheckOut = null;// 宾客结算按纽
private JButton jButtonAdditonalConsumed = null;// 增加消费按纽
private JButton jButtonGuestQuery = null;// 宾客查询
private JButton jButtonExitFrame = null;// 推出系统
private JButton jButtonAdministratorRelief = null;// 换班登录
private JMenuItem jMenuItemGuestCheckIn = null;// 来宾登记
private JMenuItem jMenuItemGuestChangeRoom = null;// 宾客换房
private JMenuItem jMenuItemModifyRegisterInfo = null;// 修改注册信息
private JMenuItem jMenuItemReservationManage = null;// 预定管理
private JMenuItem jMenuItemExitFrame = null;// 退出系统
private JMenuItem jMenuItemAdditionalConsumed = null;// 增加消费
private JMenuItem jMenuItemGuestCheckOut = null;// 宾客结帐
private JMenuItem jMenuItemGuestQuery = null;// 宾客查询
private JMenuItem jMenuItemTurnoverQuery = null;// 营业查询
private JMenuItem jMenuItemOperatorSetting = null;// 操作员设置
private JMenuItem jMenuItemSystemSetting = null;// 系统设置
private JLabel jLabelgetCurrentTime = null;// 系统当前时间
private JMenuItem jMenuItemRoomStatement = null;// 房间状态
private JPopupMenu JPopupMenuRightPressedRight = null;// 弹出菜单
private JMenuItem JMenuItemGuestReservationRight = null;// 宾客开单
private JMenuItem JMenuItemGuestCheckOutRight = null;// 宾客结帐
private JMenuItem JMenuItemGuestAdditionalConsumedRight = null;// 增加消费
private JMenuItem JMenuItemGuestModifyRegisterInfoRight = null;// 修改登记
private JMenuItem JMenuItemGuestChangeRoomRight = null;// 宾客换房
private JMenuItem JMenuItemRoomStatementRight = null;// 更改状态
private JMenuItem JMenuItemGuestCheckInRight = null;// 宾客登记
private JScrollPane jScrollPaneConsumedInfo = null;// 滚动面板,用来加载树
private JTable jTable1ConsumedInfo = null;// 消费信息表
private JLabel jLabelConsumedInfo = null;// 消费信息标签
private JPanel jPanelPriceList = null;// 价目表面板
private JLabel jLabelPriceRoomType = null;// 房间类型标签
private JComboBox jComboBoxPriceRoomType = null;// 房间类型下拉框
private JLabel jLabelPriceConsumedType = null;// 消费类型标签
private JComboBox jComboBoxPriceConsumedType = null; // 消费类型下拉框
private JLabel jLabelPriceConsumedTime = null;// 消费时间
private JTextField jTextFieldPriceConsumedTime = null;// 消费时间记录文本框
private JLabel jLabelPriceTime = null;// 费用标签
private JTextField jTextFieldPriceTime = null;// 费用记录文本框
private JButton jButtonPriceReset = null;// 重置
private JLabel jLabelPriceRebate = null;// 折扣标签
private JTextField jTextFieldPriceRebate = null;// 折扣文本框
private JLabel jLabelPriceRoom = null;// 房间价标签
private JTextField jTextFieldPriceRoom = null;// 房间价文本框
private JButton jButtonCalculate = null;// 计算器按纽
private JLabel jLabelPriceUnit = null;// 价钱单位
private JButton jButtonWaiterFrame = null;// 服务生工具栏按纽
Dimension screenSize = null;// 屏幕尺寸
// 以下九按纽是用来装饰面板用,没有作实际用途
private JButton jButton = null;
private JButton jButton1 = null;
private JButton jButton2 = null;
private JButton jButton3 = null;
private JButton jButton4 = null;
private JButton jButton5 = null;
private JButton jButton6 = null;
private JButton jButton7 = null;
private JButton jButton8 = null;
// 入口主函数,用来调试用
public static void main(String[] args) {
MainFrame.getInstance();
}
// 构造函数
public MainFrame() {
try {
javax.swing.UIManager
.setLookAndFeel("com.birosoft.liquid.LiquidLookAndFeel");
} catch (Exception e) {
e.printStackTrace();
}
com.birosoft.liquid.LiquidLookAndFeel.setLiquidDecorations(true);
hashtable = new Hashtable();// 实列化哈希表,用来存放不同的房间号
jFrameMainFrame = getJFrameMainFrame();
}
// 获得包间号方法
public RoomButton getHashtable(String key) {
return (RoomButton) hashtable.get(key);
}
// 构造获得实列的方法
public static MainFrame getInstance() {
if (instance == null) {
instance = new MainFrame();
}
instance.jFrameMainFrame.setVisible(true);
return instance;
}
/**
* 管理员权限,登陆界面的入口方法
*/
public static MainFrame getInstance(String level) {
if (instance == null) {
if (level.trim().equals("超级管理员")) {
instance = new MainFrame();
} else {
instance = new MainFrame();
instance.jMenuItemSystemSetting.setEnabled(false);
}
}
instance.jFrameMainFrame.setVisible(true);
return instance;
}
// 主窗体方法
public JFrame getJFrameMainFrame() {
if (jFrameMainFrame == null) {
jFrameMainFrame = new JFrame();
Dimension screeSize = Toolkit.getDefaultToolkit().getScreenSize();
// 获得屏幕大小
jFrameMainFrame.setSize((int) screeSize.getWidth(), (int) screeSize
.getHeight());
jFrameMainFrame
.setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE);
// jFrameMainFrame.setSize(new java.awt.Dimension(880,586));
jFrameMainFrame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
ExitDialog.exit();
}
});
jFrameMainFrame.setResizable(true);
jFrameMainFrame.setIconImage(Toolkit.getDefaultToolkit().getImage(
"icon/mainframe/5.jpg"));
jFrameMainFrame.setTitle("中信KTV管理系统");
jFrameMainFrame.setContentPane(getJContentPaneMainFrame());
jFrameMainFrame.setJMenuBar(getJJMenuBarMainFrame());
new CenterWindow().centerWindow(jFrameMainFrame);
jFrameMainFrame.setVisible(true);
}
return jFrameMainFrame;
}
// 获得面板的方法,为该面板装载所需要的组件
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -