package notepad;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
public class Note extends JFrame {
private static final long serialVersionUID = -7283536731840224600L;
private JTextArea content = new JTextArea();
private JScrollPane jsp = new JScrollPane(content);
private JMenuBar jmb = new JMenuBar();
private JMenu file = new JMenu("文件");
private JMenuItem newfile = new JMenuItem("新建");
private JMenuItem open = new JMenuItem("打开");
private JMenuItem save = new JMenuItem("保存");
private JMenuItem saveas = new JMenuItem("另存为");
private JMenuItem exit = new JMenuItem("退出");
public Note(final String setDirectory) {
setTitle("未命名 - 记事本");
file.add(newfile);
file.add(open);
file.add(save);
file.add(saveas);
file.add(exit);
jmb.add(file);
setJMenuBar(jmb);
getContentPane().add(jsp);
setSize(500,400);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
open.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
JFileChooser chooser = new JFileChooser();
System.out.println(setDirectory);
chooser.setCurrentDirectory(new File(setDirectory));
int i = chooser.showOpenDialog(null);
if (i == 0) {
File f = chooser.getSelectedFile();
System.out.println(f);
try {
setTitle(f.getName() + " - 记事本");
FileReader fis = new FileReader(f);
BufferedReader br = new BufferedReader(fis);
String s = null;
while (true) {
s = br.readLine();
if (s != null) {
content.append(s + "\n");
content.append("???");
} else {
break;
}
}
br.close();
fis.close();
} catch (FileNotFoundException e) {
JOptionPane.showMessageDialog(null, f.getName() + "\n找不到文件。\n请检查所给的文件名是否正确。");
} catch (IOException e) {
e.printStackTrace();
}
}
}
});
save.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
JFileChooser chooser = new JFileChooser();
int i = chooser.showSaveDialog(null);
if (i == 0) {
File f = chooser.getSelectedFile();
try {
FileWriter fw = new FileWriter(f);
BufferedWriter bw = new BufferedWriter(fw);
bw.write(content.getText());
bw.close();
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
});
exit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
dispose();
}
});
}
public static void main(String[] args) {
JFrame.setDefaultLookAndFeelDecorated(true);
File f = new File("C:\\File.ini"); //从这开始
String setDirectory = null;
try {
FileReader fr = new FileReader(f);
BufferedReader br = new BufferedReader(fr);
String s = null;
while (true) {
s = br.readLine();
System.out.println(s);
if (s == null) {
break;
} else if(s.indexOf(" = ") == -1) {
continue;
} else if(s.substring(0, s.indexOf(" = ")).equals("setDirectory")) {
setDirectory = s.substring(s.indexOf(" = ") + 4, s.length() - 2);
System.out.println(setDirectory);
}
}
br.close();
fr.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
Note n = new Note(setDirectory); //到这结束
n.setVisible(true);
}
}
这有个我写的例子,不过太麻烦了,这只是读取了一个设置
评论