/**
* @(#)ViewSourceFrame.java
*
*
* @author
* @version 1.00 2008/10/28
*/
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.event.*;
import javax.swing.border.*;
import javax.swing.filechooser.FileFilter;
import javax.swing.filechooser.FileView;
import java.io.*;
import java.util.*;
class ViewSourceFrame extends JFrame implements ActionListener{
JPanel contentPane;
JPanel panel1=new JPanel();
JPanel panel2=new JPanel();
Border border1;
JButton closebutton=new JButton();
JButton savebutton=new JButton();
JScrollPane jScrollPanel=new JScrollPane();
JTextArea jTextArea1=new JTextArea();
String htmlSource;
/**
*构造函数,初始化图形用户界面
*/
public ViewSourceFrame(String htmlSource) {
this.htmlSource=htmlSource;
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
setSize(new Dimension(600,500));
setTitle("源代码");
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
contentPane=(JPanel)getContentPane();
contentPane.setLayout(new BorderLayout());
panel2.setLayout(new FlowLayout());
savebutton.setText("保存");
closebutton.setText("退出");
closebutton.addActionListener(this);
savebutton.addActionListener(this);
jScrollPanel.getViewport().add(jTextArea1,null);
border1=BorderFactory.createEmptyBorder(4,4,4,4);
panel1.setLayout(new BorderLayout());
panel1.setBorder(border1);
panel1.add(jScrollPanel,BorderLayout.CENTER);
contentPane.add(panel1,BorderLayout.CENTER);
panel2.add(savebutton);
panel2.add(closebutton);
contentPane.add(panel2,BorderLayout.SOUTH);
this.jTextArea1.setEditable(true);
this.jTextArea1.setText(this.htmlSource);
//设置光标的位置,将其移动文本区第0个字符
this.jTextArea1.setCaretPosition(0);
}
/**
*实现监听器接口的Actionperformed方法
*/
public void actionPerformed(ActionEvent e){
String url="";
if(e.getSource()==closebutton){
dispose();
}
else if(e.getSource()==savebutton){
JFileChooser fc=new JFileChooser();
int returnVal=fc.showSaveDialog(ViewSourceFrame.this);
File saveFile=fc.getSelectedFile();
try{
FileWriter writeOut=new FileWriter(saveFile);
writeOut.write(jTextArea1.getText());
writeOut.close();
}
catch(IOException ex){
System.out.println("保存失败");
}
}
}
}