码迷,mamicode.com
首页 > 编程语言 > 详细

JAVA——Swing实现窗口添加课程信息

时间:2019-10-18 22:20:22      阅读:112      评论:0      收藏:0      [点我收藏+]

标签:amp   npe   iter   catch   框架   textfield   main   imp   boolean   

基本思路:

先创建出一个添加课程信息的框架,随后就设置按钮的鼠标监听事件,确保单机后录入信息的合法性,以及确定合法性之后的后续操作,如保存课程信息,信息有误弹出窗口等操作。

  1 package Test;
  2 
  3 import javax.swing.JButton;
  4 import java.io.*;
  5 import javax.swing.JFrame;
  6 import javax.swing.JLabel;
  7 import javax.swing.JPanel;
  8 import javax.swing.JTextField;
  9 import java.awt.*;
 10 import java.awt.event.ActionEvent;
 11 import java.awt.event.ActionListener;
 12 
 13 public class SetClass {
 14     String str1="添加课程失败,请核对信息后添加",
 15             str2="添加成功";
 16     JFrame jf=new JFrame("新课程添加");
 17     JPanel panel=new JPanel();
 18     JLabel addclass=new JLabel("课程名称");
 19     JTextField addclasstext=new JTextField();
 20     JLabel teacher=new JLabel("任课老师");
 21     JTextField teachertext=new JTextField();
 22     JLabel placeclass=new JLabel("上课地点");
 23     JTextField placeclasstext=new JTextField();
 24     JButton register=new JButton("添加");
 25     
 26     public boolean judgeText(String filepath,String s)       //判断信息的合法性
 27     {
 28         String str="";
 29         boolean flag=false;
 30         File file=new File(filepath);
 31         try {
 32             FileReader reader=new FileReader(file);
 33             BufferedReader br=new BufferedReader(reader);
 34             while((str=br.readLine())!=null)
 35             {
 36                 if(str.equals(s))
 37                     flag=true;
 38             }
 39             br.close();
 40             reader.close();
 41         } catch (FileNotFoundException e) {
 42             // TODO Auto-generated catch block
 43             e.printStackTrace();
 44         } catch (IOException e) {
 45             // TODO Auto-generated catch block
 46             e.printStackTrace();
 47         }
 48         
 49         return flag;
 50         
 51     }
 52     public void inputFile(String filepath,JTextField jt)   //将信息录入到文件中
 53     {
 54         File file=new File(filepath);
 55         try {
 56             FileWriter reader = new FileWriter(file,true);
 57             BufferedWriter bw=new BufferedWriter(reader);
 58             bw.newLine();
 59             bw.write(jt.getText());
 60             bw.close();
 61         } catch (IOException e) {
 62             // TODO Auto-generated catch block
 63             e.printStackTrace();
 64         }
 65     }
 66     public void setPanel(JPanel panel)        //设置面板
 67     {
 68         panel.setLayout(null);
 69         addclass.setBounds(30, 30, 80, 25);
 70         teacher.setBounds(30, 60, 80, 25);
 71         placeclass.setBounds(30, 90, 80, 25);
 72         register.setBounds(110, 120, 80, 25);
 73         register.addActionListener(new ActionListener() {    //增加事件监听器
 74             
 75             @Override
 76             public void actionPerformed(ActionEvent arg0) {
 77                 // TODO Auto-generated method stub
 78                 if(!judgeText("data", addclasstext.getText())&&judgeText("data", teachertext.getText())&&judgeText("data", placeclasstext.getText().substring(0, 2)))
 79                 {
 80                     inputFile("data",addclasstext);
 81                     inputFile("Xclass",addclasstext);
 82                     inputFile("Xclass",teachertext);
 83                     inputFile("Xclass",placeclasstext);
 84                     new MyJf(str2);
 85                 }
 86                 else
 87                     new MyJf(str1);
 88             }
 89         });
 90         addclasstext.setBounds(105, 30, 165, 25);
 91         teachertext.setBounds(105, 60, 165, 25);
 92         placeclasstext.setBounds(105, 90, 165, 25);
 93         panel.add(addclass);
 94         panel.add(addclasstext);
 95         panel.add(teacher);
 96         panel.add(teachertext);
 97         panel.add(register);
 98         panel.add(placeclass);
 99         panel.add(placeclasstext);
100     }
101     
102     SetClass() {                              //为JFrame窗口设置窗口参数
103         // TODO Auto-generated constructor stub
104         jf.setSize(340, 250);
105         jf.setLocationRelativeTo(null);
106         jf.add(panel);
107         setPanel(panel);
108         jf.setVisible(true);
109         jf.setDefaultCloseOperation(3);
110     }
111     
112     public static void main(String[] args) {
113         // TODO Auto-generated method stub
114         new SetClass();
115     }
116 
117 }
118 class MyJf                       //创建弹出窗口
119 {
120     JFrame jf1=new JFrame("提示信息");
121     JPanel jp1=new JPanel();
122     JLabel jl=new JLabel();
123     MyJf(String str)
124     {
125         jl.setText(str);
126         jf1.setSize(300, 80);
127         jf1.setVisible(true);
128         jf1.add(jp1);
129         jf1.setDefaultCloseOperation(2);
130         jf1.setLocationRelativeTo(null);
131         jp1.add(jl);
132         
133     }
134 }

 

JAVA——Swing实现窗口添加课程信息

标签:amp   npe   iter   catch   框架   textfield   main   imp   boolean   

原文地址:https://www.cnblogs.com/haheihei/p/11700856.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!