eventdo.java.bak
来自「可以实现.txt和.pas文件的词法分析,提供给大家参考和学习」· BAK 代码 · 共 78 行
BAK
78 行
package PL0;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
public class EventDo extends JFrame{
private JButton open=new JButton("打开文件");
private JButton symdo=new JButton("开始处理");
public JTextArea filecontent=new JTextArea(23,53);
protected JTextField filename=new JTextField();
public static JTextArea errorinfor=new JTextArea(5,53);
public EventDo(){
JPanel p=new JPanel();
open.addActionListener(new OpenFile());
symdo.addActionListener(new SystemDo());
filename.setEditable(false);
errorinfor.setEditable(false);
p.setLayout(new GridLayout(1,3));
p.add(open);
p.add(filename);
p.add(symdo);
JPanel p1=new JPanel();
p1.add(new JScrollPane(filecontent),BorderLayout.NORTH);
p1.add(new JScrollPane(errorinfor));
add(p1);
add(p,BorderLayout.NORTH);
}
class OpenFile implements ActionListener{
public void actionPerformed(ActionEvent e){
JFileChooser chooser=new JFileChooser();
chooser.addChoosableFileFilter(new MyFileFilter("txt",".txt"));
chooser.addChoosableFileFilter(new MyFileFilter("pl0",".pl0"));
int choose=chooser.showOpenDialog(EventDo.this);
if(choose==JFileChooser.APPROVE_OPTION){
filename.setText(chooser.getSelectedFile().toString());
try{
openfile(chooser.getSelectedFile().toString());
}catch(IOException eb){
}
}
if(choose==JFileChooser.CANCEL_OPTION){
errorinfor.append("您取消了打开文件\n");
errorinfor.append("请您选择一个要编译的文件");
}
}
}
class SystemDo implements ActionListener{
public void actionPerformed(ActionEvent e){
try{
// GetSym getsym=new GetSym(filename.getText(),"c:/out.txt");
// getsym.dod();
// filename.setText(filename.getText()+"处理完毕");
// if(getsym.c.err.error.isEmpty()){
// errorinfor.setText("错误序号:"+getsym.c.err.error.get(0));
// }
// }catch(IOException ef){
// errorinfor.setText("文件操作错误");
// }
}
}
public void openfile(String filename) throws IOException{
BufferedReader in=new BufferedReader(new FileReader(filename));
String s;
int i=0;
while((s=in.readLine())!=null){
filecontent.append(i+" "+s+"\n");
i++;
}
in.close();
}
public static void main(String[] args){
SwingConsole d=new SwingConsole();
EventDo mydo=new EventDo();
d.run(mydo,600,600);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?