Java实验报告实验4
课程名称: 面向对象程序设计 实验类型: 设计型
实验项目名称: 综合设计
实验地点: 实验日期: 2021 年 月 日
成绩:
一、实验目的及要求
掌握Java GUI图形用户界面的设计,以及Java事件处理机制,完成数据的输入输出,同时会运用Java中的异常处理机制处理程序中可能出现的异常。
二、实验环境及要求
Jdk1.8以上的开发环境,可使用任何编辑器。
三、实验内容及相应程序
*实验内容:
1、完成图1显示的窗体。
图1 学生成绩输入窗体
2、单击“提交”按钮,会将姓名、Java文本框中的内容写入到scores.txt中,写入形式如下:
王明 95
刘小林 75
3、单击“重写”按钮,会清空姓名、Java文本框中的内容。
4、要求必须处理程序中可能出现的所有异常。
相应程序:
package 实验4测试3;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.FileOutputStream;
import java.io.IOException;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
public class Grade {
//在类中定义主函数
public static void main(String[] args) {
// TODO Auto-generated method stub
//在主函数中,实例化Login类的对象,调用初始化界面的方法
Grade login = new Grade();
login.initUI();
}
private void initUI() {
// TODO 自动生成的方法存根
JFrame frame = new JFrame();
frame.setTitle("学生成绩输入:");
frame.setSize(400, 250);
frame.setDefaultCloseOperation(3);
frame.setLocationRelativeTo(null);
frame.setResizable(false);
frame.setFont(new Font("黑体",Font.PLAIN,14));
FlowLayout fl = new FlowLayout(FlowLayout.CENTER,10,10);
frame.setLayout(fl);
JLabel labname = new JLabel("姓名:");
labname.setFont(new Font("黑体",Font.PLAIN,14));
frame.add(labname);
JTextField text_name = new JTextField();
Dimension dim1 = new Dimension(300,30);
text_name.setPreferredSize(dim1);
frame.add(text_name);
JLabel java = new JLabel("java:");
java.setFont(new Font("黑体",Font.PLAIN,14));
frame.add(java);
JTextField text_java = new JTextField();
text_java.setPreferredSize(dim1);
frame.add(text_java);
JButton button1 = new JButton();
Dimension dim2 = new Dimension(100,30);
button1.setText("提交");
button1.setFont(new Font("黑体",Font.PLAIN,14));
button1.setSize(dim2);
frame.add(button1);
JButton button2 = new JButton();
button2.setText("重写");
button2.setFont(new Font("黑体",Font.PLAIN,14));
button2.setSize(dim2);
frame.add(button2);
frame.setVisible(true);
button2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
text_java.setText("");
text_name.setText("");
}
});
button1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String str1=text_name.getText();
String str2=text_java.getText();
text_name.setText(str1);
text_java.setText(str2);
try{
FileOutputStream out = new FileOutputStream("scores.txt");
byte[] ch1 = str1.getBytes();
byte[] ch2 = "\r\n".getBytes();
byte[] ch3=str2.getBytes();
out.write(ch1);
out.write(ch2);
out.write(ch3);
out.close();
}
catch(IOException we){
System.out.println("Error"+e);
}
}
});
}
}
//copyright by axuan1226
四、实验结果
五、分析与讨论(实验过程中发现的重点与难点)