📄 marks.java
字号:
import java.awt.*;
import java.io.*;
import java.awt.event.*;
public class Marks
{
public static void main(String args[])
{
Frame_FileDialog20_13 f=new Frame_FileDialog20_13();
f.pack();
}
}
class Frame_FileDialog20_13 extends Frame implements ActionListener
{
FileDialog filedialog_save, filedialog_load;//声明2个文件对话框
MenuBar menubar;Menu menu;MenuItem item1, item2;
FileInputStream file_read=null;
FileOutputStream tofile=null;
DataInputStream in_data=null;
DataOutputStream out_data=null;
TextField 姓名[]=new TextField[30], 成绩[]=new TextField[30];
Label label=new Label();
Frame_FileDialog20_13()
{
super( "学生成绩录入");
setBounds(100, 120, 100, 100);
setVisible(true);
menubar=new MenuBar();
menu=new Menu("文件");
item1=new MenuItem( "打开文件");
item2=new MenuItem( "保存文件");
item1.addActionListener(this);
item2.addActionListener(this);
menu.add(item1);
menu.add(item2);
menubar.add(menu);
setMenuBar(menubar);
//下面创建1个依赖于该窗口的保存成绩单对话框
filedialog_save=new FileDialog(this, "保存成绩单对话框", FileDialog.SAVE);
filedialog_save.setVisible(false);
//再创建1个依赖于该窗口的打开成绩单对话框
filedialog_load=new FileDialog(this, "打开成绩对话框", FileDialog.LOAD);
filedialog_load.setVisible(false);
filedialog_save.addWindowListener(new WindowAdapter()//对话框增加适配器
{
public void windowClosing(WindowEvent e)
{
filedialog_save.setVisible(false);
}
});
filedialog_load.addWindowListener(new WindowAdapter()//对话框增加适配器
{
public void windewClosing(WindowEvent e)
{
filedialog_load.setVisible(false);
}
});
addWindowListener(new WindowAdapter() //窗口增加适配器
{
public void windowClosing(WindowEvent e)
{
setVisible(false);System.exit(0);
}
});
Panel p=new Panel();
p.setLayout(new GridLayout(30, 2));
for(int i=0;i<=29;i++)
{
姓名[i]=new TextField("姓名");
成绩[i]=new TextField("0");
姓名[i].setBackground(Color.cyan);
p.add(姓名[i]);
p.add(成绩[i]);
}
ScrollPane scroll=new ScrollPane();
scroll.add(p);
add("Center", scroll);
add(new Label("成绩录入表在左面输入姓名 在右面输入分数"), "North");
add(label,"South");
}
public void actionPerformed(ActionEvent e) //实现接口中的方法,打开或保存一个成绩单。
{
if(e.getSource()==item1)
{
filedialog_load.setVisible(true);
String s;
try
{
File file=new File(filedialog_load.getDirectory(), filedialog_load.getFile());
file_read=new FileInputStream(file);
in_data=new DataInputStream(file_read); //使用数据流
label.setText(filedialog_load.getDirectory().toString()+filedialog_load.getFile().toString());
int i=0;
while((s=in_data.readUTF())!=null)
{
姓名[i].setText(s);
成绩[i].setText(" "+in_data.readDouble());
i++;
}
}
catch(FileNotFoundException el){}
catch(IOException e2){}
try
{
in_data.close(); file_read.close();
}
catch(IOException exp){}
}
else if(e.getSource()==item2)
{
filedialog_save.setVisible(true);
try
{
File file=new File(filedialog_save.getDirectory(), filedialog_save.getFile());
tofile=new FileOutputStream(file);
out_data=new DataOutputStream(tofile);//使用数据流
for(int i=0;i<=29;i++)
{
out_data.writeUTF(姓名[i].getText());
out_data.writeDouble(Double.valueOf(成绩[i].getText()).doubleValue());
}
}
catch(FileNotFoundException el){}
catch(IOException e2){}
try
{
out_data.close(); tofile.close();
}
catch(IOException exp)
{}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -