package com.test;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import javax.swing.*;
import javax.swing.filechooser.FileFilter;
import javax.swing.filechooser.FileNameExtensionFilter;
/*编写一个窗体应用程序,实现JAVA成绩录入功能(包括学号、姓名、成绩),
并把结果一起存储为磁盘文件(可保存若干个学生的成绩)。*/
public class JFrameTest extends JFrame{
/**
* @param args
*/
private JTextArea jta;//文本域
private JTextField stuid;//学号
private JTextField name;//姓名
private JTextField cj;//成绩
private JButton btsave;//保存
private JButton btclean;//清除
private JButton btopen;//打开
private JFileChooser jfcFile;//文件选择框
private JTextField jtf;//文件路径
private JLabel jl;
public JFrameTest(){
setTitle("成绩录入:");
Container c = getContentPane();
c.setLayout(null);
setBounds(0, 0, 600, 500);
jl = new JLabel("打开:");
jta = new JTextArea();
stuid = new JTextField();
name = new JTextField();
cj = new JTextField();
btsave = new JButton("保存");
btclean = new JButton("清除");
btopen = new JButton("打开");
jfcFile = new JFileChooser();
jtf = new JTextField();
JLabel jlid = new JLabel("学号:");
JLabel jlname = new JLabel("姓名:");
JLabel jlcj = new JLabel("成绩:");
c.add(jlid);
c.add(jlname);
c.add(jlcj);
FileFilter filter = new FileNameExtensionFilter("文本文件","txt","ini");
jfcFile.setFileFilter(filter);
c.add(jl);
c.add(jta);
c.add(stuid);
c.add(name);
c.add(cj);
c.add(btsave);
c.add(btclean);
c.add(btopen);
c.add(jtf);
jl.setBounds(10, 10, 50, 20);
jtf.setBounds(100, 10, 200, 20);
btopen.setBounds(300, 10, 70, 20);
jlid.setBounds(10, 50, 50, 20);
stuid.setBounds(100, 50, 150, 20);
jlname.setBounds(10, 100, 50, 20);
name.setBounds(100, 100,150 , 20);
jlcj.setBounds(10, 150, 50, 20);
cj.setBounds(100, 150, 150, 20);
jta.setBounds(300, 50, 200, 200);
jta.setLineWrap(true);
btsave.setBounds(10, 200, 80, 20);
btclean.setBounds(300, 300, 80, 20);
btopen.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
btopenActionPerformed(e);
}
});
btsave.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
btsaveActionPerformed(e);
}
});
btclean.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
jta.setText("");
}
});
setVisible(true);
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
public void btopenActionPerformed(ActionEvent e){
try {
if(jfcFile.showOpenDialog(this)!=JFileChooser.APPROVE_OPTION){
return;
}
String strFileName=jfcFile.getSelectedFile().getAbsolutePath();
BufferedReader in = new BufferedReader(new FileReader(strFileName));
String strLine = in.readLine();
//读取一行内容
String strContent="";
boolean IsFirst=true;
while(strLine != null ){
if(!IsFirst) {
strContent+="\n";
}
strContent+=strLine;
IsFirst=false;
strLine = in.readLine();
} in.close();
jtf.setText(strFileName);
jta.setText(strContent);
}
catch(Exception ex){
JOptionPane.showMessageDialog(this, ex.getMessage());
}
}
public void btsaveActionPerformed(ActionEvent e) {
try{
String strFileName=jtf.getText();
if(strFileName.equals("")) {
if(jfcFile.showSaveDialog(this)!=JFileChooser.APPROVE_OPTION) {
return;
}
strFileName=jfcFile.getSelectedFile().getAbsolutePath();
jtf.setText(strFileName);
}
String strContent=stuid.getText() + name.getText() + cj.getText();
strContent=strContent.replace("\n", "\r\n");
BufferedWriter out = new BufferedWriter(new FileWriter(strFileName,true));
out.write(strContent+"\n");
out.close();
}catch(Exception ex){
JOptionPane.showMessageDialog(this, ex.getMessage());
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new JFrameTest();
}
}
编写一个窗体应用程序,实现JAVA成绩录入功能(包括学号、姓名、成绩), 并把结果一起存储为磁盘文件(可保存若干个学生的成绩)。
最新推荐文章于 2023-07-11 10:18:55 发布