课程登记窗口java
设计窗口,实现课程的登记,并且将相应的数据写入文件之中。保证的是课程名称不可以重复,对于任课老师必须是在已经设定好的五位老师之中。并且上课地点也是在预先设定的范围内。窗口可以持续进行保存,数据将在判断后在写入相应的文件里面,当停止输入是点击X 就好了。对于本人来说碰到的主要难点就是关于flash()的相关应用,然后就是对于怎样在文件原有数据的基础之上继续写入数据。就是在filewriter(file,true);就好了。现在已经解决。
主要的思路基于上次登录窗口的主要思路。
- package kechengchuangkou;
- import java.util.Random;
- import java.awt.Color;
- import java.awt.Font;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.util.*;
- import java.io.*;
- import javax.swing.*;
- public class kecheng extends JFrame
- {
- /**
- *
- */
- private static final long serialVersionUID = 1L;//系统进行的添加
- static String wen=new String();
- private JLabel kechengla;//定义相应的变量
- private JLabel laoshila;
- private JLabel didianla;
- private JTextField kechengtxt;
- private JTextField laoshitxt;
- private JTextField didiantxt;
- private JButton anniu1bt;
- private int i=0;
- String []dage3=new String[100];
- public kecheng()
- {
- this.setTitle("登录窗口界面");
- //课程名称的文本
- kechengla=new JLabel();
- kechengla.setText("课程名称:");
- kechengla.setSize(60,50);
- kechengla.setLocation(90,70);
- //课程名称的输入框
- kechengtxt=new JTextField();
- kechengtxt.setSize(120,28);
- kechengtxt.setLocation(150,80);
- //老师文本
- laoshila=new JLabel();
- laoshila.setText("任课教师:");
- laoshila.setSize(60,50);
- laoshila.setLocation(90,120);
- //老师输入框
- laoshitxt=new JTextField();
- laoshitxt.setSize(120,28);
- laoshitxt.setLocation(150,135);
- //登录按钮
- anniu1bt=new JButton("保 存");
- anniu1bt.setSize(120,25);
- anniu1bt.setLocation(140,220);
- //地点文本
- didianla=new JLabel();
- didianla.setText("上课地点:");
- didianla.setSize(70, 50);
- didianla.setLocation(80,165);
- //地点文本框
- didiantxt= new JTextField();
- didiantxt.setSize(120, 28);
- didiantxt.setLocation(150, 180);
- //判断
- String []dage=new String[5];//两个数组进行后面的判断
- dage[0]="王建民";
- dage[1]="刘力嘉";
- dage[2]="刘丹";
- dage[3]="王辉";
- dage[4]="杨子光";
- String []dage2=new String[4];
- dage2[0]="一教";
- dage2[1]="二教";
- dage2[2]="三教";
- dage2[3]="基教";
- //设置监听事件
- anniu1bt.addActionListener(new ActionListener(){
- public void actionPerformed(ActionEvent arg0)
- {//判断是否老师输入符合要求
- if(new String(laoshitxt.getText()).trim().equals(dage[0])||new String(laoshitxt.getText()).trim().equals(dage[1])||new String(laoshitxt.getText()).trim().equals(dage[2])||new String(laoshitxt.getText()).trim().equals(dage[3])||new String(laoshitxt.getText()).trim().equals(dage[4]))
- {//判断是否地点输入符合要求
- if(didiantxt.getText().trim().equals(dage2[0])||didiantxt.getText().trim().equals(dage2[1])||didiantxt.getText().trim().equals(dage2[2])||didiantxt.getText().trim().equals(dage2[3]))
- {
- int w1=0;
- int w2=dage3.length;
- for(w1=0;w1<w2;w1++)
- {
- if(kechengtxt.getText().trim().equals(dage3[w1]))
- {
- JOptionPane.showMessageDialog(null, "课程信息保存失败!");
- System.exit(-1);
- }
- }//下面将会把相应的诗句写入文件中
- dage3[i]=kechengtxt.getText().trim();
- i++;
- File file2=new File("D:\\新建文件夹 (6)\\piao1.txt");
- try {
- if(!file2.exists())
- {
- try
- {
- file2.createNewFile();
- System.out.println("数据输出的指向文件不存在已经为您新建一个以保留运行结果请继续操作");
- }
- catch(Exception e)
- {
- e.printStackTrace();
- }
- }
- FileWriter fw = new FileWriter(file2,true);
- BufferedWriter bw=new BufferedWriter(fw);
- bw.write("课程名称 :"+kechengtxt.getText().trim());
- bw.write(" ");
- bw.write("任课老师 : "+laoshitxt.getText());
- bw.write(" ");
- bw.write("上课地点 : "+didiantxt.getText().trim());
- bw.newLine();
- bw.flush();
- bw.close();
- System.out.println("写入文件完成请继续输入或者点击X停止输入");
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- else
- {
- JOptionPane.showMessageDialog(null, "上课地点错误保存失败!");
- System.exit(-1);
- }
- }
- else
- {
- JOptionPane.showMessageDialog(null, "任课老师错误保存失败!");
- System.exit(-1);
- }
- kechengtxt.setText("");
- laoshitxt.setText("");
- didiantxt.setText("");
- }
- });
- this.setLayout(null);//告知管理器这里不用布局管理器
- this.getRootPane().setDefaultButton(anniu1bt);//按回车需要执行的按钮操作
- this.setSize(400, 400);
- this.add(kechengla);
- this.add(kechengtxt);
- this.add(laoshila);
- this.add(laoshitxt);
- this.add(didianla);
- this.add(didiantxt);
- this.add(anniu1bt);
- this.setVisible(true);//使窗口可视
- this.setResizable(true);//生成的窗口是否可以自由改变大小
- this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
- }
- public static void main(String[] args)
- {
- new kecheng();
- }
- }
package kechengchuangkou;import java.util.Random;import java.awt.Color;import java.awt.Font;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.util.*;import java.io.*;import javax.swing.*;public class kecheng extends JFrame {/** * */private static final long serialVersionUID = 1L;//系统进行的添加static String wen=new String();private JLabel kechengla;//定义相应的变量private JLabel laoshila;private JLabel didianla;private JTextField kechengtxt;private JTextField laoshitxt;private JTextField didiantxt;private JButton anniu1bt;private int i=0; String []dage3=new String[100];public kecheng(){this.setTitle("登录窗口界面");//课程名称的文本kechengla=new JLabel();kechengla.setText("课程名称:");kechengla.setSize(60,50);kechengla.setLocation(90,70);//课程名称的输入框kechengtxt=new JTextField();kechengtxt.setSize(120,28);kechengtxt.setLocation(150,80);//老师文本laoshila=new JLabel();laoshila.setText("任课教师:");laoshila.setSize(60,50);laoshila.setLocation(90,120);//老师输入框laoshitxt=new JTextField();laoshitxt.setSize(120,28);laoshitxt.setLocation(150,135);//登录按钮anniu1bt=new JButton("保 存");anniu1bt.setSize(120,25);anniu1bt.setLocation(140,220); //地点文本 didianla=new JLabel(); didianla.setText("上课地点:"); didianla.setSize(70, 50); didianla.setLocation(80,165); //地点文本框 didiantxt= new JTextField(); didiantxt.setSize(120, 28); didiantxt.setLocation(150, 180); //判断 String []dage=new String[5];//两个数组进行后面的判断 dage[0]="王建民"; dage[1]="刘力嘉"; dage[2]="刘丹"; dage[3]="王辉"; dage[4]="杨子光"; String []dage2=new String[4]; dage2[0]="一教"; dage2[1]="二教"; dage2[2]="三教"; dage2[3]="基教"; //设置监听事件 anniu1bt.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent arg0){//判断是否老师输入符合要求if(new String(laoshitxt.getText()).trim().equals(dage[0])||new String(laoshitxt.getText()).trim().equals(dage[1])||new String(laoshitxt.getText()).trim().equals(dage[2])||new String(laoshitxt.getText()).trim().equals(dage[3])||new String(laoshitxt.getText()).trim().equals(dage[4])){//判断是否地点输入符合要求if(didiantxt.getText().trim().equals(dage2[0])||didiantxt.getText().trim().equals(dage2[1])||didiantxt.getText().trim().equals(dage2[2])||didiantxt.getText().trim().equals(dage2[3])){int w1=0;int w2=dage3.length;for(w1=0;w1<w2;w1++){if(kechengtxt.getText().trim().equals(dage3[w1])){JOptionPane.showMessageDialog(null, "课程信息保存失败!");System.exit(-1);}}//下面将会把相应的诗句写入文件中dage3[i]=kechengtxt.getText().trim();i++;File file2=new File("D:\\新建文件夹 (6)\\piao1.txt");try { if(!file2.exists()) { try {file2.createNewFile();System.out.println("数据输出的指向文件不存在已经为您新建一个以保留运行结果请继续操作"); } catch(Exception e) {e.printStackTrace(); } }FileWriter fw = new FileWriter(file2,true);BufferedWriter bw=new BufferedWriter(fw);bw.write("课程名称 :"+kechengtxt.getText().trim());bw.write(" ");bw.write("任课老师 : "+laoshitxt.getText());bw.write(" ");bw.write("上课地点 : "+didiantxt.getText().trim());bw.newLine();bw.flush();bw.close();System.out.println("写入文件完成请继续输入或者点击X停止输入");} catch (IOException e) {e.printStackTrace();}}else{JOptionPane.showMessageDialog(null, "上课地点错误保存失败!");System.exit(-1);}}else{JOptionPane.showMessageDialog(null, "任课老师错误保存失败!");System.exit(-1);}kechengtxt.setText("");laoshitxt.setText("");didiantxt.setText("");} }); this.setLayout(null);//告知管理器这里不用布局管理器 this.getRootPane().setDefaultButton(anniu1bt);//按回车需要执行的按钮操作 this.setSize(400, 400); this.add(kechengla); this.add(kechengtxt); this.add(laoshila); this.add(laoshitxt); this.add(didianla); this.add(didiantxt); this.add(anniu1bt); this.setVisible(true);//使窗口可视 this.setResizable(true);//生成的窗口是否可以自由改变大小 this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);}public static void main(String[] args){new kecheng();}}
课程登记窗口java的更多相关文章
- atitit.窗口静听esc退出本窗口java swing c# .net php
atitit.窗口静听esc退出本窗口java swing c# .net php 1. 监听esc 按键 1 1.1. 监听一个组件 1 1.2. 监听加在form上 1 2. 关闭窗口 2 1. ...
- JAVA课程之简易课程登记
实现技术JSP+Servlet+MySQL 思想:首先前台用jsp获取数据,然后用Form表单传值给Servlet,Servlet操作MySQL,获取数据再通过jsp显示 1.jsp功能选择界面 &l ...
- [视频解说]0基础课程-运营商-Java它J2se
本节解说 运营商应用 Java 算被分成: 算术运算符 颂值运营商 逻辑运算符 位运算符 元运算符 这里录制了 视频解说这几大类运算符,并有练习题提供大家 面试题: 1. 最有效率的方式算出2乘以8等 ...
- 麻省理工18年春软件构造课程阅读02“Java基础”
本文内容来自MIT_6.031_sp18: Software Construction课程的Readings部分,采用CC BY-SA 4.0协议. 由于我们学校(哈工大)大二软件构造课程的大部分素材 ...
- 201403-2 窗口 Java
要想到定义一个窗口类,判断点在不在矩形里好判断 需要一个数组,存放结果 import java.util.ArrayList; import java.util.List; import java.u ...
- 登录窗口java
这次代码是登录窗口的制作. 主要的方面是是包括,用户名.密码.验证码.以及输入数据所需要的文本框,对于验证码可以通过点击验证码进行修改.同时对于验证码的前景色和背景色同时都得到修改. 点击注册(这里还 ...
- Java 小样例:图书馆课程设计(Java 8 版)
用 Java 模拟一个图书馆.包含创建图书.创建读者.借书.还书.列出全部图书.列出全部读者.列出已借出的图书.列出过期未还的图书等功能. 每一个读者最多仅仅能借 3 本书,每一个书最多仅仅能借 3 ...
- 北京大学信息科学技术学院计算机专业课程大纲选摘--JAVA
- JAVA面向对象编程课程设计——网络版单机斗地主
一.团队介绍 成员姓名 任务分配 成员课程设计博客链接 兰泽祥(组长) 数据库,斗地主规则的实现,人机自动出牌的算法,实体类的设计 JAVA面向对象编程课程设计--web版斗地主 吴修恩 JSP界面的 ...
随机推荐
- js 小练习题
<script> /*1.结论,IIFE中运行顺序3,1,执行test(4),会传递参数*/ /*var a=5; var test = (function(a){ console.log ...
- 微信小程序开发(二)认识开发工具
腾讯微信团队提供非常优秀的微信小程序开发工具,大大降低了开发者的入门门槛,为他们点赞!上一篇文章已经说明了,如何注册及下载开发工具,现在我们就来一起认识见识一下开发工具的庐山真面目. 首次打开这个开发 ...
- Flask 之分析线程和协程
目录 flask之分析线程和协程 01 思考:每个请求之间的关系 02 threading.local 03 通过字典自定义threading.local 04 通过setattr和getattr实现 ...
- jwt token认证
目录 1.drf-jwt手动签发与校验 2.drf小组件:过滤.筛选.排序.分页 => 针对与群查接口 jwt_token源码分析(入口) 签发token源码分析 校验token源码分析 url ...
- dijkstra模板题 洛谷1339 邻接图建边
题目链接:https://www.luogu.com.cn/problem/P1339 朴素dijkstra算法的复杂度是O(n^2),用堆优化的dijkstra复杂度是O(nlogn)的.在本题中前 ...
- RNN,GRU,LSTM
2019-08-29 17:17:15 问题描述:比较RNN,GRU,LSTM. 问题求解: 循环神经网络 RNN 传统的RNN是维护了一个隐变量 ht 用来保存序列信息,ht 基于 xt 和 ht- ...
- Ubuntu18.04下安装MySQL5.7(支持win10-wsl环境)
注意: 本文操作环境为win10系统wsl下的Ubuntu18.04,对于原生的Ubuntu18.04同样适用.MySQL默认版本为5.7,其他版本不适用. 安装步骤 1.更新源: sudo apt ...
- Ubuntu16.04下安装搜狗输入法及实现中英文转换问题
1.问题描述 版本信息:Ubuntu16.04 解决问题:搜狗输入法的安装 2.解决办法 STEP1:搜索搜狗输入法for Linux --> 选择64bit --> 下载得到一个sogo ...
- git的cd命令
这个命令是进入某个文件夹的命令.进入文件夹后可以对文件夹中的文件进行一系列操作.
- 3 report formats of SFDC
Choose one of the following report formats using the Format menu of the report builder. Tabular form ...