📄 ch8_e8_24.java
字号:
import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class ch8_e8_24
{
public static void main(String args[])
{
new GetDataStoreInFileFrame();
}
}
class GetDataStoreInFileFrame extends Frame implements ActionListener
{
final int NUMBER = 5;
final String DOUBLE_INPUT_PROMPT_PREFIX = " 请输入第";
final String DOUBLE_INPUT_PROMPT_SUFFIX = "个浮点数:";
final String FILE_NAME_INPUT_PROMPT = "请输入保存数据的文件名:";
double dataArray[] = new double[NUMBER];
TextField inputTfd = new TextField(10);
Label promptLbl = new Label(FILE_NAME_INPUT_PROMPT);
int inputedData = 0;
GetDataStoreInFileFrame()
{
super("输入数据");
promptLbl.setText(DOUBLE_INPUT_PROMPT_PREFIX
+ "1" + DOUBLE_INPUT_PROMPT_SUFFIX);
inputTfd.addActionListener(this);
setLayout(new FlowLayout());
add(promptLbl);
add(inputTfd);
addWindowListener(new winClose());
setSize(300,200);
setVisible(true);
}
public void actionPerformed(ActionEvent ae)
{
try
{
if(ae.getSource() == inputTfd)
{
if(inputedData < NUMBER)
{
dataArray[inputedData] = Double.parseDouble(
inputTfd.getText());
inputTfd.setText("");
if(inputedData == NUMBER-1)
promptLbl.setText(FILE_NAME_INPUT_PROMPT);
else
promptLbl.setText(DOUBLE_INPUT_PROMPT_PREFIX
+ (inputedData+2) + DOUBLE_INPUT_PROMPT_SUFFIX);
inputedData++;
}
else
{
File dataFile = new File(inputTfd.getText().trim());
FileWriter fw = new FileWriter(dataFile);
for(int i=0; i<NUMBER; i++)
{
String str = Double.toString(dataArray[i]);
fw.write(str,0,str.length());
fw.write('\n');
}
fw.close();
inputTfd.setEnabled(false);
promptLbl.setText("数据已经保存在文件中");
}
}
}
catch(NumberFormatException nfe)
{
}
catch(IOException ioe)
{
}
}
}
class winClose extends WindowAdapter
{
public void windowClosing(WindowEvent we)
{
we.getWindow().dispose();
System.exit(0);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -