火车票查询项目计划进度安排
火车票查询项目计划进度安排
时间 |
任务分解 |
完成内容——代码(类、方法等) |
|
界面 |
逻辑功能 |
||
第十三周 |
主界面设计实现 (车次、出发站、目的站、时间) |
Train Ticket.java |
TrainTime() |
功能:事件监听 |
Train Ticket.java |
||
第十四周 |
功能:车次查询 (站—站查询) |
Query.java |
|
功能:车票查询 |
Query.java |
||
第十五周 |
功能:提示功能 (提示用户该控件如何使用) |
Train Ticket.java |
|
功能:数据保存读取功能 (文本文件) |
AddData.java |
||
功能:购票 |
AddData.java |
||
第十六周 |
界面优化 |
||
整合及程序测试 |
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.table.*;import java.awt.*;
import java.awt.event.*;
import java.util.*;import javax.swing.plaf.basic.*;//启动类(鼠标监听,列表监听,键盘监听)
public class TrainTime extends JFrame implementsActionListener,MouseListener,ListSelectionListener,KeyListener
{//创建描述表格标题的vectorprivate Vector<String> vhead = new Vector<String>();{vhead.add("车次");vhead.add("始发站");vhead.add("终点站");vhead.add("列车类型");vhead.add("发站");vhead.add("发时");vhead.add("到站");vhead.add("到时");}//创建包含表格数据的vectorprivate Vector<Vector> vdata = new Vector<Vector>();//创建表格型对象private DefaultTableModel dtm = new DefaultTableModel(vdata,vhead);//创建表格控件private JTable jt = new JTable(dtm);//将表格控件放到滚动窗体中private JScrollPane jspTable = new JScrollPane(jt);//创建表格的行排序器TableRowSorter sorter = new TableRowSorter(dtm);//创建面板,用来查询private JPanel jp = new JPanel();//创建窗体分割private JSplitPane jsp = new JSplitPane(JSplitPane.VERTICAL_SPLIT,jspTable,jp);//创建单选按钮数组private JRadioButton[] jrbArray = {new JRadioButton("站站查询",true),new JRadioButton("车次查询"),new JRadioButton("车站所有车次查询")};//创建单选按钮组private ButtonGroup bgStation = new ButtonGroup();//创建标签和文本框private JLabel jlStart = new JLabel("出发站");private JComboBox jcbStart = new JComboBox();private JLabel jlEnd = new JLabel("目的站");private JComboBox jcbEnd = new JComboBox();private JLabel jlTid = new JLabel("车次");private JTextField jtfTname = new JTextField();private JLabel jlSid = new JLabel("车站站名");private JComboBox jcbSname = new JComboBox();//创建按钮private JButton jbQuery = new JButton("查询");private JButton jbApp = new JButton("附加功能");//创建可编辑组合框的默认编辑器private BasicComboBoxEditor bcbeStart = new BasicComboBoxEditor();//创建组合框的默认类型private DefaultComboBoxModel dcbmStart = new DefaultComboBoxModel();private BasicComboBoxEditor bcbeEnd = new BasicComboBoxEditor();private DefaultComboBoxModel dcbmEnd = new DefaultComboBoxModel();private BasicComboBoxEditor bcbeMid = new BasicComboBoxEditor();private DefaultComboBoxModel dcbmMid = new DefaultComboBoxModel();private BasicComboBoxEditor bcbeSname = new BasicComboBoxEditor();private DefaultComboBoxModel dcbmSname = new DefaultComboBoxModel();//创建弹出菜单PopupMenu popup = new PopupMenu();//创建菜单Menu jm = new Menu("添加");//创建菜单项数组MenuItem[] item = {new MenuItem("车次添加"),new MenuItem("车站添加"),new MenuItem("关系添加"),new MenuItem("退出程序")};//定义SystemTray成员变量SystemTray tray;//定义TrayIcon成员变量TrayIcon trayIcon;public TrainTime(){this.add(jsp);//设置分隔条的位置jsp.setDividerLocation(400);//设置分隔条大小jsp.setDividerSize(2);//为表格添加排序器jt.setRowSorter(sorter);jt.setRowHeight(20);//设置表格行高//为表格选择模型注册监听器jt.getSelectionModel().addListSelectionListener(this);jt.addMouseListener(this);//设置表头不可编辑jt.getTableHeader().setReorderingAllowed(false);//设置JPanel布局为空jp.setLayout(null);//初始化JRadioButton数组initJRadioButton();//初始化文本框initJTextField();//初始化系统托盘initTray();//加载窗体图标Image icon = Toolkit.getDefaultToolkit().getImage("img/icon.gif");//设置窗体图标this.setIconImage(icon);//设置窗体的名称this.setTitle("火车时刻表");//使最大化按钮不可用this.setResizable(false);//设置窗体的大小及位置this.setBounds(120,50,800,600);//设置窗体的可见性this.setVisible(true);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); }private void initJRadioButton() {// TODO Auto-generated method stubfor(int i=0;i<jrbArray.length;i++){//设置单选按钮的大小jrbArray[i].setBounds(200,50+i*30,130,30);//将单选按钮加到JPanel中jp.add(jrbArray[i]);//将单选按钮加到按钮组里面bgStation.add(jrbArray[i]);//注册事件监听器jrbArray[i].addActionListener(this);}}private void initJTextField() {// TODO Auto-generated method stub//设置标签大小并将它加入JPanel中jlStart.setBounds(150,20,50,30);jp.add(jlStart);//设置jcbStart的大小及位置jcbStart.setBounds(210,25,80,20);//设置jcbStart为可编辑状态jcbStart.setEditable(true);//为jcbStart设置编辑器jcbStart.setEditor(bcbeStart);//为jcbStart设置ModeljcbStart.setModel(dcbmStart);jp.add(jcbStart);//为文本框注册事件监听器//jcbStart.addActionListener(this);//注册鼠标事件监听器jcbStart.getEditor().getEditorComponent().addMouseListener(this);//注册键盘监听器jcbStart.getEditor().getEditorComponent().addKeyListener(this);jlEnd.setBounds(330,20,50,30);jp.add(jlEnd);jcbEnd.setBounds(390,25,80,20);//将jcbEnd设置为可编辑jcbEnd.setEditable(true);//将jcbEnd设置editor及modeljcbEnd.setEditor(bcbeEnd);jcbEnd.setModel(dcbmEnd);jp.add(jcbEnd);jlTid.setBounds(400,80,30,30);jp.add(jlTid);jtfTname.setBounds(460,85,80,20);jp.add(jtfTname);//为jtfTname添加鼠标监听器jtfTname.addMouseListener(this);//为jtfTname添加事件监听器jtfTname.addActionListener(this);jlSid.setBounds(400,110,60,30);jp.add(jlSid);jcbSname.setBounds(460,115,80,20);//将jcbSname设置为可编辑jcbSname.setEditable(true);//为jcbSname设置editor及modeljcbSname.setEditor(bcbeSname);jcbSname.setModel(dcbmSname);jp.add(jcbSname);//为jcbSname添加鼠标监听jcbSname.getEditor().getEditorComponent().addMouseListener(this);//为jcbSname添加键盘监听jcbSname.getEditor().getEditorComponent().addKeyListener(this);//为jcbSname添加事件监听jcbSname.addActionListener(this);//设置按钮位置及大小并加到JPaneljbQuery.setBounds(580,105,60,30);jp.add(jbQuery);//为按钮添加事件监听器和鼠标监听器jbQuery.addActionListener(this);jbQuery.addMouseListener(this);jbApp.setBounds(650,105,100,30);jp.add(jbApp);//添加监听器jbApp.addMouseListener(this);jbApp.addActionListener(this);}private void initTray() {//添加菜单for(int i=0;i<item.length;i++){//为菜单注册监听器item[i].addActionListener(this);//为菜单项数组中前三个菜单项添加到“弹出菜单”if(i<3){jm.add(item[i]);}}}@Overridepublic void keyTyped(KeyEvent e) {// TODO Auto-generated method stub}@Overridepublic void keyPressed(KeyEvent e) {// TODO Auto-generated method stub}@Overridepublic void keyReleased(KeyEvent e) {// TODO Auto-generated method stub}@Overridepublic void valueChanged(ListSelectionEvent e) {// TODO Auto-generated method stub}@Overridepublic void mouseClicked(MouseEvent e) {// TODO Auto-generated method stub}@Overridepublic void mousePressed(MouseEvent e) {// TODO Auto-generated method stub}@Overridepublic void mouseReleased(MouseEvent e) {// TODO Auto-generated method stub}@Overridepublic void mouseEntered(MouseEvent e) {// TODO Auto-generated method stub}@Overridepublic void mouseExited(MouseEvent e) {// TODO Auto-generated method stub}@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stub}public static void main(String[] args){new TrainTime();}}
转载于:https://www.cnblogs.com/liuyajuan/p/5543324.html
火车票查询项目计划进度安排相关推荐
- 《Java高级程序设计》期末作业【2】-进度安排
计算器项目计划进度安排: 项目成员:潘世林 何青 柴晓光 张峰 转载于:https://www.cnblogs.com/panshilin/p/5578496.html
- [项目管理]-第六章:工作量估计和进度安排
第六章:工作量估计和进度安排(PPT.199-220) 1.软件规模估计的方法(代码行.功能点) 2.功能点法估计软件规模的步骤(能够根据案例数据计算估计软件规模) 3.自底向上的工作量估计方法步骤( ...
- 软件进度管理的基本原则和进度安排
软件进度管理的基本原则 指导软件进度安排的基本原则如下: 1.划分项目必须划分成若干可以管理的活动和任务.为了实现羡慕的划分,对于产品的过程都需要进行分解. 2.相互依赖性划分后的各个活动或任务之间的 ...
- 合理的进度安排--人月
目录 1.首先,没有一个很有效的估算方法. 2.我们采用的估算技术隐含的假设人和月都可以互换,错误的将进度与工作量相互混淆. 3.由于对自己的估算缺乏信心,软件经理通常不会有耐心持续的估算这项工作. ...
- python实现火车票查询工具_Python 实现一个火车票查询的工具
原标题:Python 实现一个火车票查询的工具 作者 sexycoder 本文转载自简书,转载需授权 使用 python 实现一个查询火车票的小工具 主要功能: 输入出发车站,到达车站,时间,然后返回 ...
- 全国铁路查询系统_火车票查询时刻表 全国列车时刻表 火车时刻表查询系统使用说明...
春运来了,快过年了, 又到一年中最一票难求的时候了,在外辛辛苦苦打拼了一年,为了让大家尽早的和亲朋好友家人团聚,本人今年很英勇的出来帮大家代抢火车票啦! 特地为大家建立了一个捡漏票微信群, 加微信qq ...
- 2021年全国大学生电子设计竞赛重新启动通知及进度安排
大家好,我是张巧龙,昨天晚上收到了电赛重新启动的通知. 2021年全国大学生电子设计竞赛 重新启动通知及进度安排 (电组字[2021]03号) 各赛区组织委员会.各有关高等学校: 根据全国疫情变化情况 ...
- python实现火车票查询_python实现12306火车票查询器
12306火车票购票软件大家都用过,怎么用Python写一个命令行的火车票查看器,要求在命令行敲一行命令来获得你想要的火车票信息,下面通过本文学习吧. Python火车票查询器 接口设置 先给这个小应 ...
- 小学五年级计算机进度安排,苏教版小学五年级信息技术教学计划及进度安排.DOC...
苏教版小学五年级信息技术教学计划及进度安排 PAGE PAGE 1 泰兴市蒋华小学五年级信息技术教学计划 一.学生基本情况 五年级学生对学习计算机有了一定的基础,掌握了简单的Word文字处理和Powe ...
最新文章
- 怎样获取网站的域名_搭建一个网站,通常的6大步骤你知道吗?
- V4L2 driver(一). 整体框架
- linux 下查看机器是cpu是几核的
- Javascript重温OOP之原型与原型链
- NET问答: C# 中是否有 format json 的类库?
- rsync 同步优化_可以优化同步吗?
- OpenCV学习(二十一) :计算图像连通分量:connectedComponents(),connectedComponentsWithStats()
- 计算机网络 --- 传输层
- 计算机科技专业前景,美国伊利诺伊理工大学
- 二维三角元有限元方法matlab,有限元C++编程实践.doc
- 三星首款5nm A78旗舰芯Exynos 1080即将亮相
- .net找List1和List2的差集
- c++ 获取当前时间_ThinkPHP6中获取参数的3种常用方法【总结】
- java 变位词,[Java教程]变位词的查找(下)
- DB9接口定义 串口接口定义 MAX232电路
- 乖离率背离公式_通达信指标公式源码操盘K线主图指标
- 抖音app用户体验分析
- 金代文化是中华民族文化的重要组成部分
- Android开发-窗口跳转
- linux 光标切换快捷键,光标操作快捷键,光标快捷键
热门文章
- 教师资格证面试,你要知道的那些事!
- 企业为什么选择SDWAN代替MPLS?
- UE4入门学习4:C++编程介绍
- MongoDB基础-张晓飞-专题视频课程
- 哈密顿系统_Matlab
- Chapter(MySQL)(基础知识)
- c语言给结构体指针申请空间,结构体中的指针变量申请空间问题
- 编程中无穷大的设定 很多人可能设为0x7fffffff,这个数的确是32-bit int的最大值,符号位为0,其他的都是1 但在很多情况下,0x7fffffff会出现错误,比如溢出,这样两个无穷大数相
- 机器学习/深度学习中的常用损失函数公式、原理与代码实践(持续更新ing...)
- c++课设 _ 保卫萝卜