📄 studentread.java
字号:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.event.*;
import java.io.*;
import java.util.*;
class StudentRead{
public static void main(String[] args) {
MyFrameTen myFrame=new MyFrameTen();
myFrame.show();
}
}
class MyFrameTen extends JFrame implements ActionListener{
private JLabel xhLabel;
private JLabel xmLabel;
private JLabel fsLabel;
private JTextField xhTF;
private JTextField xmTF;
private JTextField fsTF;
private JButton dkwjButton;
private JButton nextButton;
private JButton previousButton;
private FileDialog fd;
private String fpath;
public static BufferedReader myBR;
private boolean flag;
MyFrameTen(){
xhLabel=new JLabel("学号");
xmLabel=new JLabel("姓名");
fsLabel=new JLabel("分数");
xhTF=new JTextField(10);
xmTF=new JTextField(10);
fsTF=new JTextField(10);
xhTF.setEditable(false);
xmTF.setEditable(false);
fsTF.setEditable(false);
dkwjButton=new JButton("打开文件");
dkwjButton.addActionListener(this);
nextButton=new JButton("下一条");
nextButton.addActionListener(this);
Container myContentPane=getContentPane();
myContentPane.setLayout(new FlowLayout());
myContentPane.add(xhLabel);
myContentPane.add(xhTF);
myContentPane.add(xmLabel);
myContentPane.add(xmTF);
myContentPane.add(fsLabel);
myContentPane.add(fsTF);
myContentPane.add(dkwjButton);
myContentPane.add(nextButton);
setSize(180,200);
addWindowListener(new QuitWindow());
}
public void actionPerformed(ActionEvent e){
String[] fields=new String[3];
String stu="";
int i=0;
if(e.getActionCommand()=="打开文件"){
fd=new FileDialog(this,"打开文件",FileDialog.LOAD);
fd.show();
fpath=fd.getFile();
if(fpath!=null){
fpath=fd.getDirectory()+fpath;
try{
myBR=new BufferedReader(new FileReader(fpath));
flag=true;
nextButton.setEnabled(true);
}catch(IOException ioe){
System.err.println("无法打开文件"+fpath);
System.exit(1);
}
try{
stu=myBR.readLine();
}catch(IOException err){
System.err.println("文件读错误");
System.exit(1);
}
StringTokenizer st=new StringTokenizer(stu,":");
while (st.hasMoreTokens()){
fields[i]=st.nextToken();
i++;
}
xhTF.setText(fields[0]);
xmTF.setText(fields[1]);
fsTF.setText(fields[2]);
}
}
if(e.getActionCommand()=="下一条"){
if(flag){
try{
stu=myBR.readLine();
myBR.mark(1);
}catch(IOException err){
System.err.println("文件读错误");
System.exit(1);
}
try{
if(myBR.read()==-1)
nextButton.setEnabled(false);
}catch(IOException eio){
System.err.println("文件读错误");
System.exit(1);
}
try{
myBR.reset();
}catch(IOException err2){
}
StringTokenizer st=new StringTokenizer(stu,":");
while (st.hasMoreTokens()){
fields[i]=st.nextToken();
i++;
}
xhTF.setText(fields[0]);
xmTF.setText(fields[1]);
fsTF.setText(fields[2]);
}
}
}
}
class QuitWindow extends WindowAdapter{
public void windowClosing(WindowEvent e){
try{
MyFrameTen.myBR.close();
}catch(IOException err){
System.err.println("文件关闭错误");
System.exit(1);
}
System.exit(0);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -