设计窗口,实现课程的登记,并且将相应的数据写入文件之中。保证的是课程名称不可以重复,对于任课老师必须是在已经设定好的五位老师之中。并且上课地点也是在预先设定的范围内。窗口可以持续进行保存,数据将在判断后在写入相应的文件里面,当停止输入是点击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();}}