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

📄 errorgui.java

📁 一个快速检测拼写程序
💻 JAVA
字号:
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
import java.io.*;

public class ErrorGUI extends JFrame implements ActionListener
{
  private BorderLayout layout;
  private JMenuBar menuBar;
  private JMenu fileMenu,checkMenu,helpMenu;
  private JPanel southPanel;
  private JTextArea checkArea;
  private Container pane;
  JScrollPane scroller;
  JViewport port;
  FileDialog openDialog,saveDialog;
  
  ReadDictionary dictionary;
  FindError findError;
  File openFile,dictionaryFile;
  
  public ErrorGUI()
  {
    super("吴晓辉词汇检测");
    layout=new BorderLayout();
    pane=this.getContentPane();
    pane.setLayout(layout);
    createMenu();
    initText();
    pane.add(scroller,BorderLayout.CENTER); 
    pack();
    setSize(500,400);
    setVisible(true);  
  }
  
  private void createMenu()
  {
    JMenuItem item;    
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    fileMenu = new JMenu("文件");  
    fileMenu.setFont(new Font("宋体",Font.PLAIN,12));    
    item = new JMenuItem("打开");
    item.addActionListener(this); 
    fileMenu.add(item);       
    item = new JMenuItem("保存");
    item.addActionListener(this);
    fileMenu.add(item);                 
    fileMenu.addSeparator();
    item = new JMenuItem("退出"); 
    item.addActionListener(this);
    fileMenu.add(item);
    checkMenu = new JMenu("查错");
    checkMenu.setFont(new Font("宋体",Font.PLAIN,12));
    item = new JMenuItem("检测");
    item.addActionListener(this); 
    checkMenu.add(item);    
    item = new JMenuItem("导入词典"); 
    item.addActionListener(this);
    checkMenu.add(item);  
    helpMenu = new JMenu("帮助");
    helpMenu.setFont(new Font("宋体",Font.PLAIN,12));
    item = new JMenuItem("帮助主题"); 
    helpMenu.add(item);    
    helpMenu.addSeparator();
    item = new JMenuItem("关于");
    item.addActionListener(this); 
    helpMenu.add(item); 
             
    menuBar = new JMenuBar();     
    menuBar.add(fileMenu);  
    menuBar.add(checkMenu); 
    menuBar.add(helpMenu);        
    this.setJMenuBar(menuBar);     
  }
  
  private void initText(){
     checkArea=new JTextArea();
     scroller = new JScrollPane();
	 port = scroller.getViewport();
	 port.add(checkArea);
  	}
  
  public void actionPerformed(ActionEvent e){
     if(e.getActionCommand().equals("打开")){
	 if (openDialog == null) {
		openDialog = new FileDialog(this);
	   }
	 openDialog.setMode(FileDialog.LOAD);
	 openDialog.show();
	 
	 String file = openDialog.getFile();
	 if (file == null) {
		return;
	   }
	 String directory =openDialog.getDirectory();
	 openFile = new File(directory, file);
	 setText(openFile);
   	}
   	
   if(e.getActionCommand().equals("保存")){
	 if (saveDialog == null) {
		saveDialog = new FileDialog(this);
	   }
	 saveDialog.setMode(FileDialog.SAVE);
	 saveDialog.show();
	 
	 String file = saveDialog.getFile();
	 if (file == null) {
		return;
	   }
	 String directory =saveDialog.getDirectory();
	 File f = new File(directory, file);
	 saveText(f);
   	}
   	
   if(e.getActionCommand().equals("退出"))System.exit(0);
   
   if(e.getActionCommand().equals("导入词典")){
	 if (openDialog == null) {
		openDialog = new FileDialog(this);
	   }
	 openDialog.setMode(FileDialog.LOAD);
	 openDialog.show();
	 
	 String file = openDialog.getFile();
	 if (file == null) {
		return;
	   }
	 String directory =openDialog.getDirectory();
	 dictionaryFile= new File(directory, file);
	 dictionary=new ReadDictionary(dictionaryFile);
	 
	 if(dictionary!=null)JOptionPane.showMessageDialog(new JFrame(),"导入成功");
   	}
   	
   if(e.getActionCommand().equals("检测")){
	 if (saveDialog == null) {
		saveDialog = new FileDialog(this);
	   }
	 saveDialog.setMode(FileDialog.SAVE);
	 saveDialog.show();
	 
	 String file = saveDialog.getFile();
	 if (file == null) {
		return;
	   }
	 String directory =saveDialog.getDirectory();
	 File f = new File(directory, file);
	 if(dictionary!=null&&openFile!=null&&!openFile.getAbsolutePath().equals(f.getAbsolutePath()))findError=new FindError(dictionaryFile,f,openFile);
	 else if(dictionary==null)JOptionPane.showMessageDialog(new JFrame(),"请导入字典文件");
	 else if(openFile==null)JOptionPane.showMessageDialog(new JFrame(),"请打开一个文件");
	 else if(openFile.getAbsolutePath().equals(f.getAbsolutePath()))JOptionPane.showMessageDialog(new JFrame(),"请选择正确的文件保存");
   	}
   	
   	if(e.getActionCommand().equals("关于"))JOptionPane.showMessageDialog(new JFrame(),"本程序由吴晓辉制作\r\n--01c4工作组");
  }
  
 private void setText(File f){
 	 FileInputStream in=null;
	 InputStreamReader read=null;
	 String s=new String("");
	 try {
		  in=new FileInputStream(f);
		  read=new InputStreamReader(in);
		  BufferedReader br=new BufferedReader(read);
		  checkArea.setText("");
		  while((s=br.readLine())!=null){
		   checkArea.append(s+"\r\n");
		  }
        }
     catch(IOException e){;}
     finally{
		if(read!=null)try{read.close();}catch(IOException e){;}
		}
 	} 
 	
 private void saveText(File f){
 	 OutputStream out=null;
	 String s=new String("");
	 try{
	 	 out=new FileOutputStream(f);
	     OutputStreamWriter write=new OutputStreamWriter(out);
	     s=checkArea.getText();
	     write.write(s);
	     write.flush();
	 	}
	 catch(IOException e){;}	
 	}
}

class tester
{
  public static void main(String[] args)
  {
    new ErrorGUI();
  }
}

⌨️ 快捷键说明

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