package hadwin;
import java.awt.BasicStroke;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
import java.awt.Cursor;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.GridLayout;
import java.awt.HeadlessException;
import java.awt.Point;
import java.awt.Polygon;
import java.awt.Stroke;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Comparator;
import java.util.Date;
import java.util.List;
import java.util.Vector;
import javax.swing.BorderFactory;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTabbedPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.Popup;
import javax.swing.PopupFactory;
import javax.swing.SwingUtilities;
import javax.swing.Timer;
import javax.swing.event.AncestorEvent;
import javax.swing.event.AncestorListener;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import javax.swing.table.TableColumn;
import JUnit.date;
import dao.EntityDaoForReserveRoom;
import dao.EntityDaoForkeren_room;
import hadwin.DateChooserFrame2_20160621.ClickButton;
import hadwin.loginFrame.registerLabelAction;
import helper.LoginFlag;
import model.Room;
import model.keren_Room;
/**
* @author CQU_WangRuns20141808
*/
public class userMainFrame extends JFrame{
/*********************内置属性模块********************************/
/**
* room内置属性
* roomNum
* roomType
* roomStatus
* roomPrice
* roomDevice-------------------------------------------------------------------
*
*/
//报表部分
private final String[] tableTitle ={ "房间编号", "房间类型", "房间状态", "房间价格", "房间设施"};
/**
* 由于查询预订情况的表会根据用户的订购和 退订而动态的发生变化
* 所以这里尝试用一下vector迭代器
*/
private Vector<Object> table1Title =new Vector<Object>();
private Vector<Object> table2Title =new Vector<Object>();
//固定大小的表数据
private Object[][] tableText=new Object[11][5];
//变化着的表数据
private Vector<Vector<Object>> tableTextForQuery=new Vector<Vector<Object>>();
private Vector<Vector<Object>> table2TextForQuery=new Vector<Vector<Object>>();
private TableColumn column = null;
//图形化界面部分
private String[] flavors={
"预订房间","查询状态","申请换房","退房结账"
};
//左方Icon
private Icon[] myIcons=new Icon[]{
new ImageIcon("images/userMainFrameImage/userMainFrame_left3.gif"),
new ImageIcon("images/userMainFrameImage/userMainFrame_2.gif"),
new ImageIcon("images/userMainFrameImage/userMainFrame_3.gif"),
new ImageIcon("images/userMainFrameImage/userMainFrame_4.gif"),
};
private int timerCircle=1;//控制图片的时间循环
private JLabel jLabelForLeftImage=new JLabel(myIcons[0]);
//private JLabel jLabelForLeftImage=new JLabel(new ImageIcon("images/userMainFrameImage/userMainFrame_left3.gif"));
//private final JLabel jLabelForLeftHeadImage=new JLabel(new ImageIcon("images/userMainFrameImage/userMainFrame_left4.gif"));
private final JTabbedPane tabs=new JTabbedPane();
private static int userMainFlag;
//事件监听部分
private MouseListener tableAction=new TableAction();
private MouseListener table1Action=new Table1Action();
private MouseListener table2Action=new Table2Action();
private JTable table=null;//房间状态查询表格
private JTable table1=null;//房间已经预订状态查询表格
private JTable table2=null;//可以用于换房的
//页面标签Icon
/**
* 根据面板设计
* 每张Icon为
* 88 *80
* 较为合适
*/
private static Icon[] tabIcons=new Icon[]{
new ImageIcon("images/userMainFrameImage/1.gif"), //预订房间
new ImageIcon("images/userMainFrameImage/2.gif"), //查询状态
new ImageIcon("images/userMainFrameImage/3.gif"), //申请换房
new ImageIcon("images/userMainFrameImage/4.gif"), //退房结账
};
//用户-房间的对象用于保存用户预订的信息
private keren_Room keren_room=new keren_Room();
public userMainFrame(){
init();//调用内置初始化方法
}
/********************界面初始化模块*******************************/
private void init(){
setTitle("尽情Hotel,Enjoying Your Style");//创建一个窗口并赋予标题
/**
* 设置默认关闭方式
* 这里不是传统的方式
* 关闭前需要提醒一下是否退出
*/
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocation(280,90);//设置窗口左上角坐标的位置
setSize(828,580);//设置窗口大小
setResizable(false);//设置窗口大小不能改变
setLayout(null);//清空创建布局
//左边图片标志加入框架容器
add(jLabelForLeftImage);
jLabelForLeftImage.setBounds(0, 0, 160, 580);//绝对定位
/**
* 这里想设置一下图片的定时切换功能
* swing.timer
* 按照预定的频率触发事件
*
*/
//用匿名内部类的方式创建一个Timer
Timer timer=new Timer(3000,new ActionListener(){
public void actionPerformed(ActionEvent e) {
jLabelForLeftImage.setIcon(myIcons[timerCircle%4]);
timerCircle++;
if(timerCircle==5)
timerCircle=1;
}
});
timer.start();
//设置背景颜色
this.getContentPane().setBackground(new Color(213,247,217));
/*****************************标签面板部分——图片切换测试************
*
//标签面板部分——图片切换测试
Icon[] icons=new Icon[]{
new ImageIcon("images/registerImage/registerShow1.gif"),
//new ImageIcon(getClass().getResource("images/registerImage/registerShow1.gif")),
new ImageIcon("images/registerImage/registerShow2.gif"),
new ImageIcon("images/registerImage/registerShow3.gif"),
new ImageIcon("images/registerImage/registerShow1.gif"),
};
for(int i=0;i<flavors.length;++i)
tabs.addTab(flavors[i], new JLabel(icons[i]));
//标签面板的位置
tabs.setBounds(160, 0, 670, 580);
add(tabs);
*/
//标签面板部分
tabs.addTab(flavors[0], tabIcons[0], reserveRoomInit0());
tabs.addTab(flavors[1], tabIcons[1], reserveRoomInit1());
tabs.addTab(flavors[2], tabIcons[2], reserveRoomInit2());
tabs.addTab(flavors[3], tabIcons[3], reserveRoomInit3());
//标签面板的位置
tabs.setBounds(160, 0, 670, 580);
//对tabs添加监听事件
tabs.addChangeListener(new ChangeListener(){
public void stateChanged(ChangeEvent e) {}
});
add(tabs);//让他入坑
setVisible(true);//框架可见属性
}
/********************内置辅助模块*********************************/
//房间预订模块
private JTable reserveRoomInit0(){
//获取表头
for(int i=0;i<5;++i)
tableText[0][i]=tableTitle[i];
//从数据库中获取房间信息 tableText
try {
getInformationFromDatabase();
} catch (SQLException e) {
e.printStackTrace();
}
table = new JTable(tableText, tableTitle);
//table被拖动时候的变化情况
table.setAutoResizeMode(JTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS);
//每列的宽度
column = table.getColumnModel().getColumn(0);
column.setPreferredWidth(50);
//column.setHeaderValue(tableTitle[0]);
column = table.getColumnModel().getColumn(1);
//column.setPreferredWidth(50);
column.setHeaderValue(tableTitle[1]);
column = table.getColumnModel().getColumn(2);
//column.setPreferredWidth(50);
column.setHeaderValue(tableTitle[2]);
column = table.getColumnModel().getColumn(3);
//column.setPref
没有合适的资源?快使用搜索试试~ 我知道了~
Java酒店管理系统课程设计2016

共266个文件
class:168个
java:67个
gif:24个

需积分: 35 2.7k 浏览量
2016-07-06
08:29:12
上传
评论 43
收藏 2.69MB ZIP 举报
Java酒店管理系统课程设计,采用Java+Eclipse+MySQL进行开发,分为了管理员和普通用户,普通用户需要注册,管理员是内置的admin账号 完成时间20160706 提示: 1、项目里面的hotelSystem_20160706\src\hadwin\mainMethodEntrance.java是整个项目的入口 2、由于连注册的时候需要用到数据库hotelSystem_20160706\src\db\Jdbc.java是关于数据的连接部分,在这里可以修改为自己的数据库名和user和password 3、建议只在MySQL中(其他数据库连接时需要做相应的修改),创建一个hotelsystem数据库(表什么的都不用建立),然后在2中修改成你自己的数据库账号和密码,然后直接用管理员账户admin(账户密码都是),进入后点击菜单上面的系统管理->数据回滚—>然后选中hotelSystem_20160706\hotelsystem.sql这个是我用的数据备份里面初始化了一些数据和表结构,这样子就可以很简单的恢复了项目的数据库数据和结构 4、数据库这块正确了,就是正确的打开该项目的方式。如果3的方式不会的话,也可以将hotelSystem_20160706\hotelsystem.sql代码语句在MySQL里面执行一遍就行了 5、由于个人水平,代码肯定还有一些不完善的地方需要完善,见谅 20160706 Runs Wang
资源推荐
资源详情
资源评论














收起资源包目录





































































































共 266 条
- 1
- 2
- 3
资源评论

哈-哈-哈
- 粉丝: 4
- 资源: 20

上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助

会员权益专享
最新资源
- 工控协议流量包下载,支持wireshark协议报文解析,协议包内包含6lowpan协议、IEEE 802.15.4等
- qt实现切换语种功能,qt语言专家的使用例程
- ARX在线CAD中绘制矩形批注功能代码如何写?ObjectARX-CAD二次开发
- 关于node.js初体验. 如何搭建并完成一个简单的后台, 配合mongodb数据库, 实现信息的增删改查功能
- 第3章课后编程题答案(1).py
- 消费者行为分析-精准营销项目数据集
- update.jsp
- 关于node.js初体验. 如何搭建并完成一个简单的后台, 配合mongodb数据库, 实现信息的增删改查功能
- feimajsq_baidu_1.8.8.apk
- 个人免签支付源码下载-服务监控模块强大后台
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
