用java实现的图书馆占座系统(目前只有界面框架)

[color=darkblue][/color][size=medium][/size]
[color=red][/color]
package ruan_jian_gong_cheng;
//系统内涉及一个TXT 运行前注意创建一下 并保存相应路径
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.FileInputStream;
import java.util.Iterator;
import java.util.Set;
import java.util.TreeMap;
import java.util.Vector;

import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JRadioButton;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;

public class library_save_a_place extends JFrame {
//private static t=0; (未实现)//该全局变量座位一个标志,用于实现成功占座后销毁相关的JDialog
private static JButton button1 = new JButton("登 录");
private JButton button2 = new JButton("忘记密码 ");
final static TreeMap<String, String> LXR = new TreeMap<String, String>();

public library_save_a_place(){ // 初始化登录界面
setSize(350, 200);
setLocation(450, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setTitle("占座系统用户登录界面");

setLayout(null);
JLabel lable = new JLabel("书籍是人类进步的阶梯");
JLabel lable1 = new JLabel("卡 号:");
JLabel lable2 = new JLabel("密 码:");
final JTextField t1 = new JTextField(20);
final JPasswordField t2 = new JPasswordField(20);
lable.setBounds(100, 10, 200, 20);
lable1.setBounds(20, 40, 80, 20);
lable2.setBounds(20, 60, 80, 20);
t1.setBounds(90, 40, 200, 20);
t2.setBounds(90, 60, 200, 20);
button1.setBounds(80, 90, 90, 20);
button2.setBounds(180, 90, 90, 20);
add(lable);
add(lable1);
add(t1);
add(lable2);
add(t2);
add(button1);
add(button2);

try {
DUSJ();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

button1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (e.getSource() == button1) {
String s1 = t1.getText();
@SuppressWarnings("deprecation")
String s2 = t2.getText();
int t=1; //t用于接受密码验证函数返回的值
if (s1.isEmpty())
JOptionPane.showMessageDialog(button1,
"登录失败,请输入卡号和密码!");
else if (!(s1.isEmpty()) && s2.isEmpty())
JOptionPane.showMessageDialog(button1,
"登录失败,请输入密码!");
else {
t=password_authentication(s1,s2);
if(t==1){
JOptionPane.showMessageDialog(button1, "登录成功!");
frame1 f1 = new frame1();
f1.setVisible(true);
[b]library_save_a_place.this.dispose();[/b]
}
}
}
}
});

button2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (e.getSource() == button2) {
JOptionPane.showMessageDialog(button2,
"忘记密码,请到学校现代教育中心进行改密!");
}
}
});

addWindowListener(new WindowAdapter() // 关闭事件
{
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}

class frame1 extends JFrame { // 用户主界面
/**
*
*/
private static final long serialVersionUID = 1L;
private JButton button11 = new JButton("查询占座");
private JButton button12 = new JButton("修改占座");
private JButton button13 = new JButton("历史查询");
private JButton button14 = new JButton("退出系统");

public frame1(){
setSize(400, 250);
setLocation(450, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setTitle("占座系统用户主界面 (frame1)");

setLayout(null);
JLabel lable = new JLabel("江西财经大学图书馆占座系统");
JLabel lable1 = new JLabel("用户:");
JLabel lable2 = new JLabel("最新占座信息:");
JLabel lable3 = new JLabel("XXX");
JLabel lable4 = new JLabel("占座");
lable.setBounds(100, 10, 200, 20);
lable1.setBounds(20, 40, 80, 20);
lable2.setBounds(20, 60, 100, 20);
lable3.setBounds(90, 40, 200, 20);
lable4.setBounds(180, 60, 200, 20);
button11.setBounds(60, 100, 90, 30);
button12.setBounds(160, 100, 90, 30);
button13.setBounds(260, 100, 90, 30);
button14.setBounds(260, 160, 90, 30);
add(lable);
add(lable1);
add(lable3);
add(lable2);
add(lable4);
add(button11);
add(button12);
add(button13);
add(button14);

button11.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
frame2 f2 = new frame2();
f2.setVisible(true);
}
});

button12.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
frame5 f5 = new frame5();
f5.setVisible(true);
}
});

button13.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
frame6 f6 = new frame6();
f6.setVisible(true);
}
});

button14.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});

addWindowListener(new WindowAdapter() // 关闭事件
{
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
}

class frame2 extends JDialog { // 查询模条件块选择界面
/**
*
*/
private static final long serialVersionUID = 1L;
private JButton button21 = new JButton("返 回 ");
private JButton button22 = new JButton("显示结果 ");

public frame2(){
this.setSize(400, 250);
this.setLocation(450, 300);
this.setModal(true);
this.setTitle("占座系统-时段、楼层选择 (frame2)");
this.setLayout(null);

JPanel p1 = new JPanel();
p1.setBounds(10, 5, 380, 100);
p1.setLayout(null);
p1.setBorder(BorderFactory.createTitledBorder("请选择时段和楼层"));
final JCheckBox c1 = new JCheckBox("上午");
final JCheckBox c2 = new JCheckBox("下午");
final JCheckBox c3 = new JCheckBox("晚上");
Vector<String> vector = new Vector<String>();
vector.addElement("全部楼层");
vector.addElement("一楼");
vector.addElement("二楼");
vector.addElement("三楼");
final JComboBox<String> combo = new JComboBox<String>(vector);
c1.setBounds(5, 35, 80, 30);
c2.setBounds(100, 35, 80, 30);
c3.setBounds(200, 35, 80, 30);
combo.setBounds(290, 35, 80, 30);
p1.add(c1);
p1.add(c2);
p1.add(c3);
p1.add(combo);
this.add(p1);
button21.setBounds(191, 150, 90, 30);
button22.setBounds(291, 150, 90, 30);
this.add(button21);
this.add(button22);

button21.addActionListener(new ActionListener() { //返回控件事件
public void actionPerformed(ActionEvent e) {
frame2.this.dispose();
}
});

button22.addActionListener(new ActionListener() { //显示结果控件事件
public void actionPerformed(ActionEvent e) {
if(!c1.isSelected()&&!c2.isSelected()&&!c3.isSelected())
JOptionPane.showMessageDialog(button22,
"您未选择查询的时间段,系统无法显示查询结果!");
else if(combo.getSelectedItem().equals("一楼")){

}
else{
frame3 f3 = new frame3();
f3.setVisible(true);
}
}
});
}


}

class frame3 extends JDialog { // 全部座位显示信息界面
/**
*
*/
private static final long serialVersionUID = 1L;
private JButton button311 = new JButton("1001");
private JButton button312 = new JButton("1002");
private JButton button313 = new JButton("1003");
private JButton button314 = new JButton("1004");
private JButton button321 = new JButton("2001");
private JButton button322 = new JButton("2002");
private JButton button323 = new JButton("2003");
private JButton button324 = new JButton("2004");
private JButton button331 = new JButton("3001");
private JButton button332 = new JButton("3002");
private JButton button333 = new JButton("3003");
private JButton button334 = new JButton("3004");
private JButton button34 = new JButton("返 回");
private JLabel lable31 = new JLabel("注:① 蓝色表示该座位可以进行占座,红色表示该座位已被占座。");
private JLabel lable32 = new JLabel("② 点击相应座位既可进行占座操作");

public frame3(){
this.setSize(600, 400);
this.setLocation(450, 300);
this.setModal(true);
this.setTitle("占座系统-座位选择 (frame3)");
this.setLayout(null);

JPanel p1 = new JPanel();
p1.setBounds(0, 5, 600, 100);
p1.setLayout(null);
p1.setBorder(BorderFactory.createTitledBorder("***** 一楼座位情况 *****"));
JPanel p2 = new JPanel();
p2.setBounds(0, 110, 600, 100);
p2.setLayout(null);
p2.setBorder(BorderFactory.createTitledBorder("***** 二楼座位情况 *****"));
JPanel p3 = new JPanel();
p3.setBounds(0, 215, 600, 100);
p3.setLayout(null);
p3.setBorder(BorderFactory.createTitledBorder("***** 三楼座位情况 *****"));
button311.setBounds(35, 40, 80, 30);
button312.setBounds(185, 40, 80, 30);
button313.setBounds(335, 40, 80, 30);
button314.setBounds(485, 40, 80, 30);
button321.setBounds(35, 40, 80, 30);
button322.setBounds(185, 40, 80, 30);
button323.setBounds(335, 40, 80, 30);
button324.setBounds(485, 40, 80, 30);
button331.setBounds(35, 40, 80, 30);
button332.setBounds(185, 40, 80, 30);
button333.setBounds(335, 40, 80, 30);
button334.setBounds(485, 40, 80, 30);
p1.add(button311);p1.add(button312);p1.add(button313);p1.add(button314);
p2.add(button321);p2.add(button322);p2.add(button323);p2.add(button324);
p3.add(button331);p3.add(button332);p3.add(button333);p3.add(button334);
button34.setBounds(485, 325, 80, 30);
lable31.setBounds(10, 320,400, 30);
lable32.setBounds(35, 340,400, 30);
this.add(p1);
this.add(p2);
this.add(p3);
this.add(button34);
this.add(lable31);
this.add(lable32);

button311.addActionListener(new ActionListener() { //撤 销控件事件
public void actionPerformed(ActionEvent e) {
frame4 f4 = new frame4();
f4.setVisible(true);
}
});

button34.addActionListener(new ActionListener() { //返回控件事件
public void actionPerformed(ActionEvent e) {
frame3.this.dispose();
}
});
}
}

class frame4 extends JDialog { // 占座操作界面
/**
*
*/
private static final long serialVersionUID = 1L;
private JButton button41 = new JButton("返 回");
private JButton button42 = new JButton("确定并占座");

public frame4(){
this.setSize(400, 250);
this.setLocation(450, 300);
this.setModal(true);
this.setTitle("占座系统-占座 (frame4)");
this.setLayout(null);

button41.setBounds(180, 115, 90, 30);
button42.setBounds(280, 115, 100, 30);
JPanel p1 = new JPanel();
p1.setBounds(0, 2, 400, 100);
p1.setLayout(new GridLayout(1,3));
p1.setBorder(BorderFactory.createTitledBorder("请选择时段:"));
final JCheckBox c1 = new JCheckBox("上午");
final JCheckBox c2 = new JCheckBox("下午");
final JCheckBox c3 = new JCheckBox("晚上");
p1.add(c1); p1.add(c2); p1.add(c3);
this.add(p1);
this.add(button41);
this.add(button42);

button41.addActionListener(new ActionListener() { //返回控件事件
public void actionPerformed(ActionEvent e) {
frame4.this.dispose();
}
});

button42.addActionListener(new ActionListener() { //确定并占座控件事件
public void actionPerformed(ActionEvent e) {
if(!c1.isSelected()&&!c2.isSelected()&&!c3.isSelected())
JOptionPane.showMessageDialog(button42,
"您未选择占座的时间,系统无法为您占座!");
else{
JOptionPane.showMessageDialog(button42,
"恭喜恭喜,系统为您占座成功!");
frame4.this.dispose();
}
}
});
}
}

class frame5 extends JDialog { // 修改模块主界面
/**
*
*/
private static final long serialVersionUID = 1L;
private JButton button51 = new JButton("撤 销");
private JButton button52 = new JButton("重新占座");
private JButton button53 = new JButton("更改时间");
private JButton button54 = new JButton("返 回");

public frame5(){
this.setSize(400, 250);
this.setLocation(450, 300);
this.setModal(true);
this.setTitle("占座系统-修改 (frame5)");
this.setLayout(null);

JPanel p1 = new JPanel();
p1.setBounds(5, 2, 380, 150);
p1.setLayout(null);
p1.setBorder(BorderFactory.createTitledBorder("请选择要进行修改的操作:"));
button51.setBounds(20, 60, 90, 30);
button52.setBounds(150, 60, 90, 30);
button53.setBounds(280, 60, 90, 30);
button54.setBounds(280, 170, 90, 30);
p1.add(button51); p1.add(button52); p1.add(button53);
this.add(p1);
this.add(button54);

button51.addActionListener(new ActionListener() { //撤 销控件事件
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(button51,
"占座信息已被成功撤销!");
}
});

button52.addActionListener(new ActionListener() { //重新占座控件事件
public void actionPerformed(ActionEvent e) {
frame2 f2 = new frame2();
f2.setVisible(true);
}
});

button53.addActionListener(new ActionListener() { //更改时间控件事件
public void actionPerformed(ActionEvent e) {
frame4 f4 = new frame4();
f4.setVisible(true);
}
});

button54.addActionListener(new ActionListener() { //返回控件事件
public void actionPerformed(ActionEvent e) {
frame5.this.dispose();
}
});
}

}

class frame6 extends JDialog { // 历史查询模块主界面

/**
*
*/
private static final long serialVersionUID = 1L;
private JButton button61 = new JButton("返回");
private JButton button62 = new JButton("查询");

public frame6(){
this.setSize(600, 400);
this.setLocation(450, 300);
this.setModal(true);
this.setTitle("占座系统-历史查询 (frame6)");
this.setLayout(null);

JPanel p61 = new JPanel();
p61.setBounds(10, 10, 575, 60);
p61.setLayout(null);
p61.setBorder(BorderFactory.createTitledBorder(""));
JPanel p62 = new JPanel();
p62.setBounds(10, 80, 575, 60);
p62.setLayout(null);
p62.setBorder(BorderFactory.createTitledBorder(""));
final JRadioButton r1 = new JRadioButton("按具体日期查询");
final JRadioButton r2 = new JRadioButton("按具体月份查询");
final JLabel lable61 = new JLabel("请输入具体日期:");
final JLabel lable62 = new JLabel("请输入具体月份:");
final JLabel lable63 = new JLabel("(格式:20121009)");
final JLabel lable64 = new JLabel("(格式:201210)");
final JTextField t61 = new JTextField(20);
final JTextField t62 = new JTextField(20);
r1.setBounds(10, 16, 120, 30);
r2.setBounds(10, 16, 120, 30);
lable61.setBounds(190, 16, 120, 30);
lable62.setBounds(190, 16, 120, 30);
t61.setBounds(310, 23, 100, 20);
t62.setBounds(310, 23, 100, 20);
lable63.setBounds(420, 16, 150, 30);
lable64.setBounds(420, 16, 150, 30);
p61.add(r1); p61.add(lable61); p61.add(t61); p61.add(lable63);
p62.add(r2); p62.add(lable62); p62.add(t62); p62.add(lable64);
this.add(p61);
this.add(p62);
final JTextArea area = new JTextArea(600,50);
JScrollPane pane = new JScrollPane(area);
pane.setBounds(10, 150, 578, 150);
this.add(pane);
button61.setBounds(360, 320, 90, 30);
button62.setBounds(470, 320, 90, 30);
this.add(button61);
this.add(button62);
lable61.setVisible(false); t61.setVisible(false); lable63.setVisible(false);
lable62.setVisible(false); t62.setVisible(false); lable64.setVisible(false);
///r1.setSelected(true);
//r2.setSelected(true);

button61.addActionListener(new ActionListener() { //返回控件事件
public void actionPerformed(ActionEvent e) {
frame6.this.dispose();
}
});

button62.addActionListener(new ActionListener() { //查询控件事件
public void actionPerformed(ActionEvent e) {
if(!r1.isSelected()&&!r2.isSelected())
JOptionPane.showMessageDialog(button62, "请选择查询条件!");
else
area.setText("请确定您输入的日期信息是否正确,系统未找到相关的占座信息!");
}
});

r1.addActionListener(new ActionListener() { //返回控件事件
public void actionPerformed(ActionEvent e) {
if(r1.isSelected()){
r1.setSelected(true); r2.setSelected(false);
lable61.setVisible(true); t61.setVisible(true);
lable63.setVisible(true);
lable62.setVisible(false); t62.setVisible(false);
lable64.setVisible(false);
}
else{
lable61.setVisible(false); t61.setVisible(false);
lable63.setVisible(false);
}
}
});

r2.addActionListener(new ActionListener() { //返回控件事件
public void actionPerformed(ActionEvent e) {
if(r2.isSelected()){
r2.setSelected(true); r1.setSelected(false);
lable62.setVisible(true); t62.setVisible(true);
lable64.setVisible(true);
lable61.setVisible(false); t61.setVisible(false);
lable63.setVisible(false);
}
else{
lable62.setVisible(false); t62.setVisible(false);
lable64.setVisible(false);
}
}
});
}
}

//密码验证函数
public int password_authentication(String cardnumb,String password){
String str1,str2;
str1 = cardnumb;
str2 = password;
int t=0,t1=0,t2=0;
Set<String> set = LXR.keySet();
Iterator<String> i = set.iterator();
while (i.hasNext()) {
String key = i.next();
if(key.equals(str1)){
t1=1;
String passwd = LXR.get(key);
if(passwd.equals(str2)){
t2=1;
t=1; break;
}
else t=0;
}
else t=0;
}
if(t1==0) JOptionPane.showMessageDialog(button1, "登录失败,不存在该用户!");
if(t1==1 && t2==0) JOptionPane.showMessageDialog(button1, "登录失败,密码错误!");
return t;
}

public static void DUSJ() throws Exception { //读数据
FileInputStream in = new FileInputStream("E:/mydocument/LXRXX.txt");
byte[] b = new byte[1024];
int i = in.read(b);
String s = new String(b, 0, i);
String[] s1 = s.split("@");
for (int j = 0; j < s1.length; j++) {
String s2[] = s1[j].split(": ");
LXR.put(s2[0], s2[1]);
}
in.close();
}

/**
*
*/
private static final long serialVersionUID = 1L;

public static void main(String[] args) {
library_save_a_place test = new library_save_a_place();
test.setVisible(true);
}

}
  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值