output.java

来自「可以实现.txt和.pas文件的词法分析,提供给大家参考和学习」· Java 代码 · 共 57 行

JAVA
57
字号
package PL0;

import PL0.*;
import PL0.GetSym;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
public class OutPut{
	public static void main(String[] args){
		EventDo eventdo=new EventDo();
		eventdo.open.addActionListener(new OpenFile());
		eventdo.symdo.addActionListener(new SystemDo());
		SwingConsole swc=new SwingConsole();
	    swc.run(eventdo,600,600);
	}	
}
class OpenFile implements ActionListener{
	public void actionPerformed(ActionEvent e){
		JFrame frame=new JFrame("FileChooser Test"); 
		JFileChooser chooser=new JFileChooser();
		chooser.addChoosableFileFilter(new MyFileFilter("txt",".txt")); 
		chooser.addChoosableFileFilter(new MyFileFilter("pl0",".pl0"));
		int choose=chooser.showOpenDialog(frame);
		if(choose==JFileChooser.APPROVE_OPTION){
			PL0.EventDo.filename.setText(chooser.getSelectedFile().toString());
			try{
				EventDo.openfile(chooser.getSelectedFile().toString());
				}catch(IOException eb){
			  }
		}
		if(choose==JFileChooser.CANCEL_OPTION){
			PL0.EventDo.errorinfor.append("您取消了打开文件\n");
			PL0.EventDo.errorinfor.append("请您选择一个要编译的文件");
		}
	}
}
class SystemDo implements ActionListener{
	public void actionPerformed(ActionEvent e){
		try{
			GetSym get=new GetSym(EventDo.filename.getText(),"c:/out.txt");
			try{
			while(true){
				get.getsym();
				if(GetSym.csymbol=="period"){
				break;
				}
			}
			GetSym.out.close();
			}catch(IOException ef){
				PL0.EventDo.errorinfor.setText("文件操作错误");
		    }
		}catch(IOException oo){
			
		}
	}
}

⌨️ 快捷键说明

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