今天为大家分享一个java语言编写的教室管理系统,目前系统功能已经很全面,后续会进一步完善。整个系统界面漂亮,有完整得源码,希望大家可以喜欢。喜欢的帮忙点赞和关注。一起编程、一起进步

开发环境

开发语言为Java,开发环境Eclipse或者IDEA都可以,数据为MySQL。运行主程序,或者执行打开JAR文件即可以运行本程序。

系统框架

利用JDK自带的SWING框架开发。纯窗体模式,直接运行Main文件即可以。

系统主要功能

本项目是一个课程设计,主要实现了要给公交查询系统。实现的主要功能包括:按线路查询、按经过站的站查询,按起始站、终止站查询。项目涉及到文件操作、事件处理、数据结构和算法等众多知识点,项目源码完整,下载后可以直接使用。欢迎大家下载。

开发背景

本公交查询系统目标是方便市民进行公交信息查询,并且要做到信息不滞后,其主要思想是做到系统管理的人性化,数据处理的可靠性,可维护性,以及程序的健壮性。

运行方法

下载源码后,导入到Eclipse或者IEDA后,运行MAIN.JAVA,即可以正确运行系统

主要功能

  1. 查询功能:系统需要提供几种不同方式的查询手段,以实现灵活方便地管理整个系统。公交查询系统有按线路查询、按经过站的站查询,按起始站-终止站查询3种查询方式

2、数据的更新修改:更新:系统允许管理员级别的用户对数据进行更新、修改并且存盘操作;

运行效果

关键代码

import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;import javax.swing.BorderFactory;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;@SuppressWarnings("serial")
public class GUI extends JFrame {private JButton btnQuery; // 查询private JCheckBox ckBox; // 模糊查询选择private JTextField tfUrbanLine; // 线路名private JTextField tfBusStation; // 站台名private JTextField tfSourceStation; // 源站台private JTextField tfDestStation; // 目的站台private JTextArea taResult; // 查询结果private JRadioButton rbStation; // 站站查询private JRadioButton rbUrbanLine; // 线路查询private JRadioButton rbStationInfo; //public GUI() {initComponents();initLayout();loadWindow();}/*** 初始化组件*/private void initComponents() {setTitle("南京公交线路查询系统");// 设置标题setSize(825, 560); // 窗口大小setLocation(200, 100); // 窗口初始位置(200,300)setResizable(false);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);btnQuery = new JButton("查询");ckBox = new JCheckBox("模糊查询");tfUrbanLine = new JTextField(10);tfBusStation = new JTextField(20);tfSourceStation = new JTextField(20);tfDestStation = new JTextField(20);taResult = new JTextArea(70, 50);rbStation = new JRadioButton("站站查询");rbUrbanLine = new JRadioButton("线路查询");rbStationInfo = new JRadioButton("站台信息查询");taResult.setLineWrap(true);// 设置换行}/*** 初始化窗口布局*/private void initLayout() {JPanel rightPanel = new JPanel(); // 右部面板JPanel centPanel = new JPanel();// 中间面板rightPanel.setLayout(new GridLayout(15, 1, 5, 5));ButtonGroup g = new ButtonGroup();g.add(rbStation);g.add(rbStationInfo);g.add(rbUrbanLine);rightPanel.add(rbStation);rightPanel.add(rbStationInfo);// 加入单选按钮rightPanel.add(rbUrbanLine);rightPanel.add(new JLabel("请输入起始站点名:"));rightPanel.add(tfSourceStation);rightPanel.add(new JLabel("请输入终点站点名:"));rightPanel.add(tfDestStation);rightPanel.add(new JLabel("请输入站台名:"));rightPanel.add(tfBusStation);rightPanel.add(new JLabel("请输入公交线路名:"));rightPanel.add(tfUrbanLine);rightPanel.add(btnQuery);rightPanel.add(ckBox);centPanel.add(taResult);// 查询结果放入中间面板JScrollPane sp = new JScrollPane(centPanel,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);rightPanel.setBorder(BorderFactory.createTitledBorder("信息区"));// 加入边框sp.setBorder(BorderFactory.createTitledBorder("查询结果"));getContentPane().add(rightPanel, BorderLayout.EAST);getContentPane().add(sp, BorderLayout.CENTER);btnQuery.addActionListener(new QueryCommand());// 加入监听rbStation.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {tfSourceStation.setEnabled(true);tfDestStation.setEnabled(true);tfUrbanLine.setEnabled(false);tfBusStation.setEnabled(false);tfSourceStation.setText("");tfDestStation.setText("");tfSourceStation.grabFocus();}});rbStationInfo.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {tfSourceStation.setEnabled(false);tfDestStation.setEnabled(false);tfUrbanLine.setEnabled(false);tfBusStation.setEnabled(true);tfBusStation.setText("");tfBusStation.grabFocus();}});rbUrbanLine.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {tfSourceStation.setEnabled(false);tfDestStation.setEnabled(false);tfUrbanLine.setEnabled(true);tfBusStation.setEnabled(false);tfUrbanLine.setText("");tfUrbanLine.grabFocus();// 获取焦点}});}/*** 载入窗口*/private void loadWindow() {setVisible(true); // 显示窗口tfSourceStation.grabFocus();taResult.setEditable(false);rbStation.setSelected(true); // 选中站站查询tfBusStation.setEnabled(false);tfUrbanLine.setEnabled(false);Query.initQuery();// 完成一系列初始化工作}// 查询操作private class QueryCommand implements ActionListener {public void actionPerformed(ActionEvent e) {String msg1 = null;String msg2 = null;String result = null;if (rbStation.isSelected()) { // 站站查询msg1 = tfSourceStation.getText().trim();if ("".equals(msg1)) {JOptionPane.showMessageDialog(GUI.this, "起始站台不能为空!");tfSourceStation.grabFocus();return;}msg2 = tfDestStation.getText().trim();if ("".equals(msg2)) {JOptionPane.showMessageDialog(GUI.this, "终点站台不能为空!");tfDestStation.grabFocus();return;}if (ckBox.isSelected()) { // 选中了模糊查询result = Query.getPathInfo(msg1, msg2, true);if (result == null)JOptionPane.showMessageDialog(GUI.this,"对不起,没有查询到相关乘车方案信息!");elsetaResult.setText(result);} else {result = Query.getPathInfo(msg1, msg2, false);if (result == null)JOptionPane.showMessageDialog(GUI.this,"对不起,没有查询到相关乘车方案信息!");elsetaResult.setText(result);}} else if (rbStationInfo.isSelected()) {// 查询站台信息msg1 = tfBusStation.getText().trim();if ("".equals(msg1)) {JOptionPane.showMessageDialog(GUI.this, "站台名不能为空!");tfBusStation.grabFocus();return;}if (ckBox.isSelected()) { // 选中了模糊查询result = Query.getStationInfo(msg1, true);} else {result = Query.getStationInfo(msg1, false);}if (result == null)JOptionPane.showMessageDialog(GUI.this,"对不起,没有查询到该站台的信息!");elsetaResult.setText(result);} else if (rbUrbanLine.isSelected()) {// 查询线路信息msg1 = tfUrbanLine.getText().trim();if ("".equals(msg1)) {JOptionPane.showMessageDialog(GUI.this,"公交线路名不能为空!");tfUrbanLine.grabFocus();return;}if (ckBox.isSelected()) { // 选中了模糊查询result = Query.getUrbanLineInfo(msg1, true);} else {result = Query.getUrbanLineInfo(msg1, false);}if (result == null)JOptionPane.showMessageDialog(GUI.this,"对不起,没有查询到该公交线路的信息!");elsetaResult.setText(result);}}}
}

Java编写的公交查询系统 功能非常齐全 完整源码相关推荐

  1. Java开发的KTV系统 功能非常齐全 完整源码

    今天为大家分享一个java语言编写的KTV系统,目前系统功能已经很全面,后续会进一步完善.整个系统界面漂亮,有完整得源码,希望大家可以喜欢.喜欢的帮忙点赞和关注.一起编程.一起进步 开发环境 开发语言 ...

  2. 用Java编写城市公交查询系统

    城市公交查询系统是一个实用的应用程序,可以帮助用户在城市中查找公交车路线.站点和到达时间.在这个回答中,我将用Java编写一个城市公交查询系统,包括代码和说明. 一.系统架构和功能 该城市公交查询系统 ...

  3. Java编写的教室管理系统 带详细设计报告 功能非常齐全 完整源码

    今天为大家分享一个java语言编写的教室管理系统,目前系统功能已经很全面,后续会进一步完善.整个系统界面漂亮,有完整得源码,希望大家可以喜欢.喜欢的帮忙点赞和关注.一起编程.一起进步 开发环境 开发语 ...

  4. Java 写的通讯录管理系统 带详细设计报告 功能非常齐全 完整源码

    今天为大家分享一个java语言编写的贪吃蛇系统,目前系统功能已经很全面,后续会进一步完善.整个系统界面漂亮,有完整得源码,希望大家可以喜欢.喜欢的帮忙点赞和关注.一起编程.一起进步 开发环境 开发语言 ...

  5. Java开发的模拟双色球抽奖程序 功能非常齐全 完整源码

    今天为大家分享一个java语言编写的模拟双色球抽奖程序,目前系统功能已经很全面,后续会进一步完善.整个系统界面漂亮,有完整得源码,希望大家可以喜欢.喜欢的帮忙点赞和关注.一起编程.一起进步 开发环境 ...

  6. Java开发的船体程序 超级玛丽小游戏 411 功能非常齐全 完整源码

    今天为大家继续分享泡泡堂小游戏的开发与制作 410,目前系统已经完成了初步功能,后续会进一步完善.整个系统界面漂亮,有完整得源码,希望大家可以喜欢.喜欢的帮忙点赞和关注.一起编程.一起进步!! 开发环 ...

  7. Java开发的飞翔的小鸟小游戏408 功能非常齐全 完整源码

    今天为大家继续分享飞翔的小鸟游戏的开发与制作 408,目前系统已经完成了初步功能,后续会进一步完善.整个系统界面漂亮,有完整得源码,希望大家可以喜欢.喜欢的帮忙点赞和关注.一起编程.一起进步 开发环境 ...

  8. Java开发的超级马里奥小游戏410 相对简单 功能非常齐全 完整源码

    今天为大家继续分享泡泡堂小游戏的开发与制作 410,目前系统已经完成了初步功能,后续会进一步完善.整个系统界面漂亮,有完整得源码,希望大家可以喜欢.喜欢的帮忙点赞和关注.一起编程.一起进步!! 开发环 ...

  9. Java 开发的QQ聊天系统 窗体程序 功能非常齐全 完整源码

    今天为大家分享一个java语言编的QQ聊天系统,目前系统已经完成了初步功能,后续会进一步完善.整个系统界面漂亮,有完整得源码,希望大家可以喜欢.喜欢的帮忙点赞和关注.一起编程.一起进步 开发环境 开发 ...

最新文章

  1. map和foreach的区别和应用场景_支付宝小程序和微信小程序,两者有何区别?
  2. Typecho程序伪静态规则大全(包括Linux/Windows
  3. NDK开发之日志打印
  4. 自己写的TimeHelper javal时间工具
  5. java虚拟机常用命令工具
  6. 理清逻辑,确保云原生时代应用开发的全生命周期安全
  7. 数据仓库ETL之DataX(一)简介
  8. 二维数组传入函数_C++二维动态数组memset()函数初始化
  9. C++ 日期 时间
  10. QFIL and FASTBOOT
  11. android qq输入法表情,QQ输入法(Android)4.8 表情进行时
  12. 阿里云ESC搭建SVN服务端-----实测有效,并补充了一些坑点
  13. 笑话,随便笑不收费.
  14. python之pandas基础知识以及练习题
  15. ctfshow web入门 SSTI
  16. VC++通过查看ReactOS开源代码,解决完整路径dll加载失败问题(附源码)
  17. 云巡店php源码,雅量云巡店赋能陈列管理 提效降本看得见
  18. Python 视频教程百度云分享
  19. 使用HTML表格制作简易的个人简历表
  20. 使用python将数据写入csv文件,行与行间多出空行

热门文章

  1. 安卓matlab+calculator,Calculator科学计算器
  2. 微软常用运行库合集 v2020.12.10
  3. 网页短信平台开发为什么要用短信服务程序
  4. 安卓手机投屏软件_安卓投屏软件eshow下载
  5. 东财21秋《利息理论X》单元作业1【标准答案】
  6. 【Android】(二)SQLite可视化工具SQLiteStudio的用法
  7. 台达PLC与触摸屏的小数点运算
  8. linux 网络部分,在 Linux(或异构)网络上共享计算机,第 1 部分
  9. matlab fft 幅度,相位
  10. Xcode SCM系统 使用Git存储库机制之 学习笔记