package javaGui;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.eltima.components.ui.DatePicker;
import entity.Meet;
import service.MeetServiceImpl;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.net.Inet4Address;
import java.net.UnknownHostException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Locale;
import javax.swing.*;
import javax.swing.table.JTableHeader;
public class Login extends JFrame {
private Meet meet;
private List<Meet> listMeet;
private MeetServiceImpl meetServiceImpl;
private JPanel p;
private JLabel lblpurpose, lblUserName,lstartDate,lendDate;
private JTextField txtpurpose,txtUserName;
//增加时间控件
private DatePicker stratDatepick,endDatepick;
private JButton btnOk, btnCancle;
public Login() {
super("信息化会议室预定");
meetServiceImpl = new MeetServiceImpl();
p = new JPanel();
p.setLayout(null);
lblpurpose = new JLabel("用 途");
lblUserName = new JLabel("申请人");
txtpurpose = new JTextField(100);
txtUserName = new JTextField(50);
lstartDate = new JLabel("开始时间");
lendDate = new JLabel("结束时间");
stratDatepick = getDatePicker();
endDatepick = getDatePicker();
btnOk = new JButton("确定");
btnCancle = new JButton("取消");
lblpurpose.setBounds(30, 30, 60, 25);
txtpurpose.setBounds(95, 30, 500, 25);
lblUserName.setBounds(30, 60, 60, 25);
txtUserName.setBounds(95, 60, 120, 25);
lstartDate.setBounds(30, 90, 60, 25);
stratDatepick.setBounds(95, 90, 150, 25);
lendDate.setBounds(30, 120, 120, 25);
endDatepick.setBounds(95, 120, 150, 25);
btnOk.setBounds(335, 150, 60, 25);
btnCancle.setBounds(405, 150, 60, 25);
p.add(lblpurpose);
p.add(txtpurpose);
p.add(lblUserName);
p.add(txtUserName);
p.add(lstartDate);
p.add(stratDatepick);
p.add(lendDate);
p.add(endDatepick);
p.add(btnOk);
p.add(btnCancle);
listMeet = meetServiceImpl.getListByMeet();
if(CollUtil.isNotEmpty(listMeet)){
JScrollPane jsPane = new JScrollPane();
int count = 0;
String []title= {"序号","申请人"," 开始时间","结束时间","会议室用途"};
count = listMeet.size();
Object[][] info = new Object[count][5];
for(Meet meetInfo : listMeet){
info[count][0] = count+1;
info[count][1] = meetInfo.getUserName();
info[count][2] = meetInfo.getStartTime();
info[count][3] = meetInfo.getEndTime();
info[count][4] = meetInfo.getPurpose();
}
// 创建JTable
JTable jtabView = new JTable(info,title);
// 显示表头
JTableHeader jthHeader = jtabView.getTableHeader();
// 将JTable加入到带滚动条的面板中
jsPane.getViewport().add(jtabView);
jthHeader.setBounds(30, 200, 690, 25);
jsPane.setBounds(30, 225, 690, 300);
p.add(jsPane);
}
this.add(p);
this.setSize(800, 600);
this.setLocation(300, 300);
// 设置窗体不可改变大小
this.setResizable(false);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 注册确定按钮的事件处理
btnOk.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
meet = new Meet();
// 获取用途
String strpurpose = txtpurpose.getText();
// 获取申请人
String strUserName = txtUserName.getText();
if(StrUtil.isEmpty(strpurpose)){
JOptionPane.showMessageDialog(null, "会议室用途不能为空!", "提示窗口", JOptionPane.INFORMATION_MESSAGE);
return;
}
if(StrUtil.isEmpty(strUserName)){
JOptionPane.showMessageDialog(null, "申请人不能为空!", "提示窗口", JOptionPane.INFORMATION_MESSAGE);
return;
}
Date date = new Date();
SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
SimpleDateFormat simpleDateFormat2 = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat simpleDateFormat3 = new SimpleDateFormat("yyyy");
SimpleDateFormat simpleDateFormat4 = new SimpleDateFormat("MM");
Date dateStartDate = (Date) stratDatepick.getValue();
Date dateEndDate = (Date) endDatepick.getValue();
String strStartDate = simpleDateFormat1.format(stratDatepick.getValue());
String strEndDate = simpleDateFormat1.format(endDatepick.getValue());
if(strStartDate.equals(strEndDate)){
JOptionPane.showMessageDialog(null, "开始时间等于于结束时间,会议申请无效!", "提示窗口", JOptionPane.INFORMATION_MESSAGE);
return;
}
if(dateStartDate.getTime() > dateEndDate.getTime()){
JOptionPane.showMessageDialog(null, "开始时间不能大于结束时间!", "提示窗口", JOptionPane.INFORMATION_MESSAGE);
return;
}
if(date.getTime() > dateEndDate.getTime()){
JOptionPane.showMessageDialog(null, "开始时间不能晚于当前时间!", "提示窗口", JOptionPane.INFORMATION_MESSAGE);
return;
}
meet.setPurpose(strpurpose);
meet.setUserName(strUserName);
meet.setCreationBy(strUserName);
meet.setLastUpdateBy(strUserName);
meet.setStartTime(strStartDate);
meet.setEndTime(strEndDate);
try {
meet.setIp(String.valueOf(Inet4Address.getLocalHost()));
} catch (UnknownHostException ex) {
ex.printStackTrace();
}
meet.setYear(simpleDateFormat3.format(date));
meet.setMonth(simpleDateFormat4.format(date));
meet.setUserDate(java.sql.Date.valueOf(simpleDateFormat2.format(date)));
String strReturn = meetServiceImpl.insertMeetInfo(meet);
System.out.println("strReturn:"+strReturn);
if (StrUtil.isNotEmpty(strReturn)) {
JOptionPane.showMessageDialog(null, "申请失败!原因是:" + strReturn, "提示窗口", JOptionPane.INFORMATION_MESSAGE);
txtpurpose.setText("");
txtUserName.setText("");
return;
} else {
JOptionPane.showMessageDialog(null, "恭喜您,申请成功!", "提示窗口", JOptionPane.INFORMATION_MESSAGE);
txtpurpose.setText("");
txtUserName.setText("");
return;
}
}
});
// 注册取消按钮的事件处理
btnCancle.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// 清空文本框中的文本
txtpurpose.setText("");
txtUserName.setText("");
}
});
}
private static DatePicker getDatePicker() {
final DatePicker datepick;
// 格式
评论0