《Java编程思想》读书笔记(10)
来源:互联网 发布:java状态机配置 编辑:程序博客网 时间:2024/06/06 00:29
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();
}
}
做了个读写文件的小东西,功能很烂,有时间做个完整的记事本吧。
- 《Java编程思想》读书笔记(10)
- Java编程思想读书笔记
- java编程思想读书笔记
- java 编程思想 读书笔记
- <<java编程思想>>读书笔记
- java编程思想读书笔记
- java编程思想读书笔记
- 《Java编程思想》读书笔记
- Java 编程思想 - 读书笔记
- JAVA编程思想读书笔记
- 《java编程思想》读书笔记
- java编程思想读书笔记
- java 编程思想 读书笔记
- 《Java编程思想》读书笔记
- java编程思想-读书笔记(6-10章)
- Java编程思想读书笔记(对象)
- JAVA编程思想读书笔记八(复用类)
- JAVA编程思想读书笔记十(接口)
- [转]最长递增子序列问题的求解
- TOJ_1003题解
- 《Java编程思想》读书笔记(11)
- TOJ_1002解题报告
- TOJ_1001解题报告
- 《Java编程思想》读书笔记(10)
- 《Java编程思想》读书笔记(9)
- 《Java编程思想》读书笔记(8)
- 《Java编程思想》读书笔记(7)
- Java开发环境搭建全过程(下)
- 《高质量java程序设计》读书笔记之----异常处理(1)
- Java开发环境搭建全过程(上)
- 《Java编程思想》读书笔记(6)
- 《Java编程思想》读书笔记(5)