• 大小: 475KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-28
  • 语言: Java
  • 标签: java  GUI  SWING布局  

资源简介

java 实现电影院售票系统 swing实现 能使你更好的理解swing的布局 事件...

资源截图

代码片段和文件信息

package com.xun.cinema.console;

import java.awt.Color;
import java.io.IOException;
import java.util.List;
import java.util.Map;
import java.util.Scanner;

import com.xun.cinema.model.Cinema;
import com.xun.cinema.model.ScheduleItem;
import com.xun.cinema.model.Seat;
import com.xun.cinema.model.Ticket;
import com.xun.cinema.model.TicketFactory;

/**
 *  console版本测试
 * @author Administrator
 *
 */
public class MyCinemaApp {

static Cinema cinema = new Cinema();
static Scanner sc = new Scanner(System.in);

public static void main(String[] args) throws NumberFormatException IOException {
try {
cinema.load();
showScheduleItem();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}

/*
 * 开始主菜单
 */
private static void showScheduleItem() throws NumberFormatException IOException {
//拿到所有的电影的东西
//key--->time
//value-->scheduleItem
Map items = cinema.getSchedule().getItems();

System.out.println(“--------------今日上映--------------“);

//打印出movie.txt里面的电影
String names = ““;
for(String s : items.keySet()) {
String movieName = items.get(s).getMovie().getMovieName();
if(names.contains(movieName)) {
continue;
}
names += movieName;
String time = items.get(s).getTime();
for(String s1 : items.keySet()) {
if(movieName.equals(items.get(s1).getMovie().getMovieName()) && !s1.equals(s)) {
time += “\n\t“ + items.get(s1).getTime();
}
}
System.out.println(movieName);
System.out.println(“\t“+time);
}

System.out.println(“请选择需要查看的电影输入上映时间:“);
String time = sc.next();
if(!items.containsKey(time)) {
System.out.println(“没有您这个时间段的电影场次!“);
} else {
//显示电影信息确定了我们要看的哪部电影
ScheduleItem item = items.get(time);

//显示出这个场次的电影座位情况根据这个time我们就能唯一的确定一部电影
showSeat(time);

System.out.println(“\n请选择座位:“);
String seatNum = sc.next();
if(!cinema.getSeats().containsKey(seatNum)) {
System.out.println(“没有此座位!“);
} else {
//座位选好了准备出票
Seat seat = cinema.getSeats().get(seatNum); //从创建好的座位中拿到这个座位
Ticket t =chooseTicket(item seat);//根据item和seat来创建票
seat.setColor(Color.red);
//将票添加到ciname
cinema.getSoldTicket().add(t);
System.out.println(“购买成功!“);
//打印
t.print();
//序列化
cinema.save();
}
}


}

private static Ticket chooseTicket(ScheduleItem item Seat seat) {

System.out.println(“1:普通票  2:学生票   3:赠票“);
int num = sc.nextInt();
int discount = 0;
String customerName = ““;
if(2 == num) {
System.out.println(“请输入折扣:“);
discount = sc.nextInt();
} else if(3 == num) {
System.out.println(“请输入赠票人名字:“);
customerName = sc.next();
}

Ticket t = TicketFactory.createTicket(item seat discount customerName num);
return t;
}

/*
 * 显示出对应time场次的座位情况
 */
private static void showSeat(String time) {
//先创建座位
createSeat();

System.out.pri

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2012-11-27 16:03  CinemaSys\
     文件         301  2012-08-22 20:26  CinemaSys\.classpath
     文件         385  2012-08-22 20:26  CinemaSys\.project
     目录           0  2012-11-27 16:03  CinemaSys\.settings\
     文件         629  2012-08-22 20:26  CinemaSys\.settings\org.eclipse.jdt.core.prefs
     目录           0  2012-11-27 16:03  CinemaSys\bin\
     目录           0  2012-11-27 16:03  CinemaSys\bin\com\
     目录           0  2012-11-27 16:03  CinemaSys\bin\com\xun\
     目录           0  2012-11-27 16:03  CinemaSys\bin\com\xun\cinema\
     目录           0  2012-11-27 16:03  CinemaSys\bin\com\xun\cinema\console\
     文件        5604  2012-08-29 13:48  CinemaSys\bin\com\xun\cinema\console\MyCinemaApp.class
     目录           0  2012-11-27 16:03  CinemaSys\bin\com\xun\cinema\model\
     文件        3148  2012-08-29 13:48  CinemaSys\bin\com\xun\cinema\model\Cinema.class
     文件        2510  2012-08-29 14:19  CinemaSys\bin\com\xun\cinema\model\FreeTicket.class
     文件         160  2012-08-29 13:58  CinemaSys\bin\com\xun\cinema\model\IPrintable.class
     文件        3528  2012-08-29 13:48  CinemaSys\bin\com\xun\cinema\model\Movie.class
     文件        1241  2012-08-29 13:48  CinemaSys\bin\com\xun\cinema\model\MovieType.class
     文件        3281  2012-08-29 13:48  CinemaSys\bin\com\xun\cinema\model\Schedule.class
     文件        2075  2012-08-29 13:48  CinemaSys\bin\com\xun\cinema\model\ScheduleItem.class
     文件        1275  2012-08-29 13:48  CinemaSys\bin\com\xun\cinema\model\Seat.class
     文件        3657  2012-08-29 14:20  CinemaSys\bin\com\xun\cinema\model\StudentTicket.class
     文件        3874  2012-08-29 14:17  CinemaSys\bin\com\xun\cinema\model\Ticket.class
     文件        1235  2012-08-29 13:48  CinemaSys\bin\com\xun\cinema\model\TicketFactory.class
     目录           0  2012-11-27 16:03  CinemaSys\bin\com\xun\cinema\view\
     文件         793  2012-08-29 14:00  CinemaSys\bin\com\xun\cinema\view\CinemaView$1.class
     文件        2426  2012-08-29 14:00  CinemaSys\bin\com\xun\cinema\view\CinemaView$2.class
     文件        2299  2012-08-29 14:00  CinemaSys\bin\com\xun\cinema\view\CinemaView$3.class
     文件         896  2012-08-29 14:00  CinemaSys\bin\com\xun\cinema\view\CinemaView$4.class
     文件        1689  2012-08-29 14:00  CinemaSys\bin\com\xun\cinema\view\CinemaView$5.class
     文件        1864  2012-08-29 14:00  CinemaSys\bin\com\xun\cinema\view\CinemaView$MyJLabel.class
     文件        2770  2012-08-29 14:00  CinemaSys\bin\com\xun\cinema\view\CinemaView$MyJRadioButtonMonitor.class
............此处省略39个文件信息

评论

共有 条评论