-
大小: 9KB文件類型: .java金幣: 1下載: 1 次發(fā)布日期: 2021-08-09
- 語言: Java
- 標(biāo)簽:
資源簡介
Myeclipse 實現(xiàn)的自上而下算法,生成的界面簡單易于運(yùn)行
代碼片段和文件信息
package?編譯原理實驗;
import?javax.swing.*;
import?java.awt.*;
import?java.awt.event.*;
import?java.util.Stack;
import?java.util.StringTokenizer;
public?class?Testh?extends?Jframe?implements?ActionListener?{
private?static?final?long?serialVersionUID?=?1L;
private?JButton?beginButton?=?new?JButton(“運(yùn)行“);
private?JButton?cleanButton?=?new?JButton(“清空“);
private?JLabel?inLabel?=?new?JLabel(“輸入代碼“);
private?JLabel?beginButton6?=?new?JLabel(“分析結(jié)果“);
Font?fon?=?new?Font(“Dialog“?Font.PLAIN?18);
private?static?TextArea?inTextArea?=?new?TextArea(17?30);
private?static?TextArea?outTextArea?=?new?TextArea(17?30);
private?JPanel?pane?=?new?JPanel();
private?static?String?s1?=?new?String();
static?String?input=““;
//?布局管理器
void?buildConstraints(GridBagConstraints?gbc?int?gx?int?gy?int?gw
int?gh?int?wx?int?wy)?{
gbc.gridx?=?gx;
gbc.gridy?=?gy;
gbc.gridwidth?=?gw;
gbc.gridheight?=?gh;
gbc.weightx?=?wx;
gbc.weighty?=?wy;
}
//?布局鍵面
private?void?setMyPane()?{
GridBagLayout?gridbag?=?new?GridBagLayout();
GridBagConstraints?constraints?=?new?GridBagConstraints();
pane.setLayout(gridbag);
buildConstraints(constraints?0?0?1?1?25?5);
constraints.fill?=?GridBagConstraints.VERTICAL;
gridbag.setConstraints(inLabel?constraints);
pane.add(inLabel);
buildConstraints(constraints?1?0?1?1?25?0);
gridbag.setConstraints(beginButton?constraints);
pane.add(beginButton);
buildConstraints(constraints?0?1?2?3?25?90);
gridbag.setConstraints(inTextArea?constraints);
inTextArea.setFont(fon);
pane.add(inTextArea);
buildConstraints(constraints?2?1?2?3?0?0);
gridbag.setConstraints(outTextArea?constraints);
outTextArea.setFont(fon);
pane.add(outTextArea);
buildConstraints(constraints?2?0?1?1?25?0);
gridbag.setConstraints(cleanButton?constraints);
pane.add(cleanButton);
buildConstraints(constraints?3?0?1?1?25?0);
gridbag.setConstraints(beginButton6?constraints);
pane.add(beginButton6);
setLocation(200?80);
setContentPane(pane);
}
//?添加事件監(jiān)聽器
private?void?initListener()?{
ActListener?actListener?=?new?ActListener();
beginButton.addActionListener(actListener);
cleanButton.addActionListener(actListener);
}
//?構(gòu)建事件監(jiān)聽器
class?ActListener?implements?ActionListener?{
public?void?actionPerformed(ActionEvent?e)?{
if?(e.getSource()?==?beginButton)?{
porRun();
}
if?(e.getSource()?==?cleanButton)?{
inTextArea.setText(““);
outTextArea.setText(““);
}
}
}
private?void?porRun()?//?分析過程
{
String?inText?=?inTextArea.getText();
int?j?=?1;
StringTokenizer?str1?=?new?StringTokenizer(inText
“?\n\t\r;+=-\“\‘)(}{][<>!“?true);
int?n?=?str1.countTokens();
String[]?intext?=?new?String[str1.countTokens()];
for?(int?a?=?0;?a? intext[a]?=?str1.nextToken();
}
outTextArea.setSize(1000?1000);
outTextArea.appen
評論
共有 條評論