JAVA Swing实现窗口添加课程信息过程解析
基本思路:
先创建出一个添加课程信息的框架,随后就设置按钮的鼠标监听事件,确保单机后录入信息的合法性,以及确定合法性之后的后续操作,如保存课程信息,信息有误弹出窗口等操作。
代码
packageTest;
importjavax.swing.JButton;
importjava.io.*;
importjavax.swing.JFrame;
importjavax.swing.JLabel;
importjavax.swing.JPanel;
importjavax.swing.JTextField;
importjava.awt.*;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
publicclassSetClass{
Stringstr1="添加课程失败,请核对信息后添加",
str2="添加成功";
JFramejf=newJFrame("新课程添加");
JPanelpanel=newJPanel();
JLabeladdclass=newJLabel("课程名称");
JTextFieldaddclasstext=newJTextField();
JLabelteacher=newJLabel("任课老师");
JTextFieldteachertext=newJTextField();
JLabelplaceclass=newJLabel("上课地点");
JTextFieldplaceclasstext=newJTextField();
JButtonregister=newJButton("添加");
publicbooleanjudgeText(Stringfilepath,Strings)//判断信息的合法性
{
Stringstr="";
booleanflag=false;
Filefile=newFile(filepath);
try{
FileReaderreader=newFileReader(file);
BufferedReaderbr=newBufferedReader(reader);
while((str=br.readLine())!=null)
{
if(str.equals(s))
flag=true;
}
br.close();
reader.close();
}catch(FileNotFoundExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
returnflag;
}
publicvoidinputFile(Stringfilepath,JTextFieldjt)//将信息录入到文件中
{
Filefile=newFile(filepath);
try{
FileWriterreader=newFileWriter(file,true);
BufferedWriterbw=newBufferedWriter(reader);
bw.newLine();
bw.write(jt.getText());
bw.close();
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
publicvoidsetPanel(JPanelpanel)//设置面板
{
panel.setLayout(null);
addclass.setBounds(30,30,80,25);
teacher.setBounds(30,60,80,25);
placeclass.setBounds(30,90,80,25);
register.setBounds(110,120,80,25);
register.addActionListener(newActionListener(){//增加事件监听器
@Override
publicvoidactionPerformed(ActionEventarg0){
//TODOAuto-generatedmethodstub
if(!judgeText("data",addclasstext.getText())&&judgeText("data",teachertext.getText())&&judgeText("data",placeclasstext.getText().substring(0,2)))
{
inputFile("data",addclasstext);
inputFile("Xclass",addclasstext);
inputFile("Xclass",teachertext);
inputFile("Xclass",placeclasstext);
newMyJf(str2);
}
else
newMyJf(str1);
}
});
addclasstext.setBounds(105,30,165,25);
teachertext.setBounds(105,60,165,25);
placeclasstext.setBounds(105,90,165,25);
panel.add(addclass);
panel.add(addclasstext);
panel.add(teacher);
panel.add(teachertext);
panel.add(register);
panel.add(placeclass);
panel.add(placeclasstext);
}
SetClass(){//为JFrame窗口设置窗口参数
//TODOAuto-generatedconstructorstub
jf.setSize(340,250);
jf.setLocationRelativeTo(null);
jf.add(panel);
setPanel(panel);
jf.setVisible(true);
jf.setDefaultCloseOperation(3);
}
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
newSetClass();
}
}
classMyJf//创建弹出窗口
{
JFramejf1=newJFrame("提示信息");
JPaneljp1=newJPanel();
JLabeljl=newJLabel();
MyJf(Stringstr)
{
jl.setText(str);
jf1.setSize(300,80);
jf1.setVisible(true);
jf1.add(jp1);
jf1.setDefaultCloseOperation(2);
jf1.setLocationRelativeTo(null);
jp1.add(jl);
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。