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 + -
显示快捷键?