⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 textviewerexp.java

📁 Java课堂练习
💻 JAVA
字号:
/**
 * @(#)TextViewerExp.java
 *
 *
 * @author 
 * @version 1.00 2007/11/17
 */
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;

public class TextViewerExp extends JFrame implements ActionListener {
        
    /**
     * Creates a new instance of <code>TextViewerExp</code>.
     */
    private JMenu  fileMenu=new JMenu("File");
    private JMenuItem  fileOpen=new JMenuItem("Open");
    private JMenuItem  fileSave=new JMenuItem("Save");
    private JMenuItem  fileExit=new JMenuItem("Exit");
    private JTextArea text=new JTextArea();
    private JFileChooser  fileDialog;
    
    public TextViewerExp() {
     super("Text Viewer");
     fileMenu.add(fileOpen);
     fileOpen.addActionListener(this); 
     fileMenu.add(fileSave);
     fileSave.addActionListener(this);
     fileMenu.addSeparator();
     fileMenu.add(fileExit);
     fileExit.addActionListener(this);
         
     JMenuBar menu=new JMenuBar();
     menu.add(fileMenu);
     setJMenuBar(menu);
     setLayout(new BorderLayout());     
     add(new JScrollPane(text),BorderLayout.CENTER);
     
     setSize(400,400);
     setVisible(true);    
     
    }
    
    /**
     * @param args the command line arguments
     */
    public void readFile(String file) {
    text.setText("");
    try {
     BufferedReader in=new BufferedReader(new FileReader(file));
     String line;
     while ((line=in.readLine())!=null)
      text.append(line+"\n");
     in.close();
     text.setCaretPosition(0);
    }
    catch (IOException ioe) {
     System.err.println(ioe);
    }  
   }
   public void writeFile(String file) {
   	try {
   	 BufferedWriter  out=new BufferedWriter(new FileWriter(file));
   	 String s=text.getText();
   	 char[] cbuf=s.toCharArray();
   	 out.write(cbuf);
   	 out.close();   	 
   	}
   	catch (IOException ioe) {
   	 System.err.println("error in file write!");
   	}
   }
    

   public void actionPerformed(ActionEvent ae) {
     if (ae.getSource()==fileExit)
      System.exit(0);
     else if (ae.getSource()==fileOpen) {
      fileDialog=new JFileChooser();
      int state=fileDialog.showOpenDialog(this);
      if (state==JFileChooser.APPROVE_OPTION) {
      	File file=fileDialog.getSelectedFile();
      	System.out.println(file.toString());
      	if (file.exists())
      	  readFile(file.toString());
      	else
      	  text.setText("File name:"+file+"invalid.");
      }
     }
     else if (ae.getSource()==fileSave) {
       fileDialog=new JFileChooser();
       int state=fileDialog.showSaveDialog(this);
       if (state==JFileChooser.APPROVE_OPTION) {
       	File file=fileDialog.getSelectedFile();       	
       	if (!file.exists())
       	{ 
       	  try {
       	  file.createNewFile();
       	}
       	catch (IOException e){
       	 System.out.println("error in create new file!");
       	 return;
       	}
       	}
        writeFile(file.toString());
       	
       }
     }
   }
    public static void main(String[] args) {
        // TODO code application logic here
      new TextViewerExp();
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -