《Java编程思想》读书笔记(10)
package com.vitamin.UI;
import javax.swing.*;
import javax.swing.filechooser.FileFilter;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.GridLayout;
import java.awt.event.*;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import com.vitamin.Console.*;
public class FileTest extends JFrame
{
private JButton btnOpen = new JButton("Open");
private JButton btnSave = new JButton("Save");
private JPanel p = null;
private JTextField tfDir = new JTextField();
private JTextField tfFileName = new JTextField();
private JScrollPane sp = new JScrollPane();
private JEditorPane ep = new JEditorPane();
private File file = null;
public FileTest()
{
super();
// TODO Auto-generated constructor stub
this.initForm();
}
public void initForm()
{
Container con = this.getContentPane();
con.setLayout(new BorderLayout());
this.tfDir.setEditable(false);
this.tfFileName.setEditable(false);
this.btnSave.setEnabled(false);
this.btnOpen.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
JFileChooser fc = new JFileChooser();
fc.setFileFilter(new TextFileFilter() );
int returnVal = fc.showOpenDialog(FileTest.this);
if(returnVal == JFileChooser.APPROVE_OPTION)
{
file = fc.getSelectedFile();
try
{
ep.setPage(file.toURL());
tfFileName.setText(file.getAbsolutePath());
btnSave.setEnabled(true);
}
catch(IOException ex)
{
throw new RuntimeException(ex);
}
}
else if(returnVal == JFileChooser.CANCEL_OPTION)
{
tfFileName.setText("你已经取消了文件的选择");
}
}
});
this.btnSave.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
try {
FileWriter fw = new FileWriter(file);
ep.write(fw);
JOptionPane.showMessageDialog(FileTest.this,"保存成功");
} catch (IOException ioe) {
throw new RuntimeException(ioe);
}
}
});
sp.getViewport().add(ep);
p = new JPanel();
p.add(this.btnOpen);
p.add(this.btnSave);
con.add(p,BorderLayout.SOUTH);
con.add(sp,BorderLayout.CENTER);
p = new JPanel();
p.setLayout(new GridLayout(2,1));
p.add(this.tfDir);
p.add(this.tfFileName);
con.add(p,BorderLayout.NORTH);
console.run(this,400,400);
}
public class TextFileFilter extends
javax.swing.filechooser.FileFilter {
public boolean accept(File f) {
return f.getName().endsWith(".txt")
|| f.isDirectory();
}
public String getDescription() {
return "Text Files (*.txt)";
}
}
/**
* @param args
*/
public static void main(String[] args)
{
FileTest ft = new FileTest();
}
}
import javax.swing.*;
import javax.swing.filechooser.FileFilter;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.GridLayout;
import java.awt.event.*;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import com.vitamin.Console.*;
public class FileTest extends JFrame
{
private JButton btnOpen = new JButton("Open");
private JButton btnSave = new JButton("Save");
private JPanel p = null;
private JTextField tfDir = new JTextField();
private JTextField tfFileName = new JTextField();
private JScrollPane sp = new JScrollPane();
private JEditorPane ep = new JEditorPane();
private File file = null;
public FileTest()
{
super();
// TODO Auto-generated constructor stub
this.initForm();
}
public void initForm()
{
Container con = this.getContentPane();
con.setLayout(new BorderLayout());
this.tfDir.setEditable(false);
this.tfFileName.setEditable(false);
this.btnSave.setEnabled(false);
this.btnOpen.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
JFileChooser fc = new JFileChooser();
fc.setFileFilter(new TextFileFilter() );
int returnVal = fc.showOpenDialog(FileTest.this);
if(returnVal == JFileChooser.APPROVE_OPTION)
{
file = fc.getSelectedFile();
try
{
ep.setPage(file.toURL());
tfFileName.setText(file.getAbsolutePath());
btnSave.setEnabled(true);
}
catch(IOException ex)
{
throw new RuntimeException(ex);
}
}
else if(returnVal == JFileChooser.CANCEL_OPTION)
{
tfFileName.setText("你已经取消了文件的选择");
}
}
});
this.btnSave.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
try {
FileWriter fw = new FileWriter(file);
ep.write(fw);
JOptionPane.showMessageDialog(FileTest.this,"保存成功");
} catch (IOException ioe) {
throw new RuntimeException(ioe);
}
}
});
sp.getViewport().add(ep);
p = new JPanel();
p.add(this.btnOpen);
p.add(this.btnSave);
con.add(p,BorderLayout.SOUTH);
con.add(sp,BorderLayout.CENTER);
p = new JPanel();
p.setLayout(new GridLayout(2,1));
p.add(this.tfDir);
p.add(this.tfFileName);
con.add(p,BorderLayout.NORTH);
console.run(this,400,400);
}
public class TextFileFilter extends
javax.swing.filechooser.FileFilter {
public boolean accept(File f) {
return f.getName().endsWith(".txt")
|| f.isDirectory();
}
public String getDescription() {
return "Text Files (*.txt)";
}
}
/**
* @param args
*/
public static void main(String[] args)
{
FileTest ft = new FileTest();
}
}
做了个读写文件的小东西,功能很烂,有时间做个完整的记事本吧。
作者:洞庭散人
出处:http://phinecos.cnblogs.com/
本博客遵从Creative Commons Attribution 3.0 License,若用于非商业目的,您可以自由转载,但请保留原作者信息和文章链接URL。
posted on 2006-06-08 00:00 Phinecos(洞庭散人) 阅读(337) 评论(0) 编辑 收藏 举报