文本编辑器1.0
1、打开文件(基本格式文件,如txt/cpp/c/java等等)
2、保存编辑区文本到文件中(程序save方法中设置的txt文件)
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
public class Demo08 extends JFrame implements ActionListener{
JTextArea tArea = new JTextArea(20,40);
JScrollPane scroll = new JScrollPane(tArea); // JScrollpane滚动面板,为JTextArea添加滚动条
Button btn1 = new Button("open");
Button btn2 = new Button("save");
public Demo08() {
super("文本编辑器1.0");
setBounds(10, 10, 700, 500);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLayout(new FlowLayout());
btn1.addActionListener(this);
btn2.addActionListener(this);
add(btn1);
add(btn2);
// add(tArea);
getContentPane().add(scroll);
scroll.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
scroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
}
public static void main(String[] args) {
new Demo08();
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == btn1) {
FileDialog fdopen = new FileDialog(this,"打开",FileDialog.LOAD);
fdopen.setVisible(true);
tArea.setText("");
try {
BufferedReader reader = new BufferedReader(new FileReader(fdopen.getDirectory()+fdopen.getFile()));
String str = reader.readLine();
while(str!=null) {
tArea.append(str+'\n');
str = reader.readLine();
}
reader.close();
} catch (Exception e1) {
// e1.printStackTrace();
}
}
if (e.getSource() == btn2) {
FileDialog fdsave = new FileDialog(this,"保存",FileDialog.SAVE);
fdsave.setVisible(true);
String path = fdsave.getDirectory()+fdsave.getFile()+".txt";
try {
BufferedWriter writer = new BufferedWriter(new FileWriter(path));
writer.write(tArea.getText());
writer.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
}
FileDialog类
1、构造方法
2、设置文件对话框可见⭐
setVisible(boolean)
3、常用方法