?? ll1gui.java
字號:
import javax.swing.JPanel;
import java.awt.*;
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JLabel;
import java.awt.CardLayout;
import java.awt.TextArea;
import java.io.*;
import javax.swing.table.*;
import javax.swing.JTable;
import javax.swing.JScrollPane;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
/*
* 創建日期 2005-12-21
*
* TODO 要更改此生成的文件的模板,請轉至
* 窗口 - 首選項 - Java - 代碼樣式 - 代碼模板
*/
/**
* @author 段成 軟件工程0301
*
* TODO 要更改此生成的類型注釋的模板,請轉至
* 窗口 - 首選項 - Java - 代碼樣式 - 代碼模板
*/
public class LL1Gui {
CardLayout mycard;
private JPanel jContentPane = null;
private JFrame jFrame = null; // @jve:decl-index=0:visual-constraint="100,64"
private JPanel jPanel = null;
private JButton jButton = null;
private JLabel jLabel = null;
private JPanel jPanel1 = null; // @jve:decl-index=0:visual-constraint="106,55"
private JLabel jLabel1 = null;
private JButton jButton1 = null;
private JButton jButton2 = null;
private JButton jButton3 = null;
private JButton jButton4 = null;
private TextArea textArea = null;
private JPanel jPanel2 = null; // @jve:decl-index=0:visual-constraint="70,293"
private JTable jTable = null;
private JScrollPane jScrollPane = null;
private JButton jButton5 = null;
private JButton jButton6 = null;
private JTextField jTextField = null;
private JButton jButton7 = null;
FileDialog fd;
LL1 l=new LL1();
private JLabel jLabel2 = null;
private JTextField jTextField1 = null;
private JLabel jLabel3 = null;
private JTextField jTextField2 = null;
private JLabel jLabel4 = null;
private JTextField jTextField3 = null;
int mark=0;
/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
mycard=new CardLayout();
jContentPane.setLayout(mycard);
jContentPane.add(getJPanel(), "First");
jContentPane.add(getJPanel1(), getJPanel1().getName());
jContentPane.add(getJPanel2(), getJPanel2().getName());
}
return jContentPane;
}
/**
* This method initializes jFrame
*
* @return javax.swing.JFrame
*/
public JFrame getJFrame() {
if (jFrame == null) {
jFrame = new JFrame();
jFrame.setSize(306, 247);
jFrame.setTitle("LL(1)文法判定-java實現");
jFrame.setContentPane(getJContentPane());
jFrame.setVisible(true);
jFrame.setLocation(380, 230);
}
return jFrame;
}
/**
* This method initializes jPanel
*
* @return javax.swing.JPanel
*/
private JPanel getJPanel() {
if (jPanel == null) {
jLabel4 = new JLabel();
jLabel3 = new JLabel();
jLabel2 = new JLabel();
jLabel1 = new JLabel();
jLabel = new JLabel();
jPanel = new JPanel();
jPanel.setLayout(null);
jPanel.setName("jPanel");
jLabel.setBounds(90, 6, 106, 24);
jLabel.setText("華北電力大學");
jLabel1.setText("軟件工程0301班 段成");
jLabel1.setLocation(65, 34);
jLabel1.setSize(163, 28);
jLabel2.setBounds(31, 65, 104, 25);
jLabel2.setText("文法開始符");
jLabel3.setBounds(33, 96, 100, 20);
jLabel3.setText("非終結符");
jLabel4.setBounds(34, 125, 99, 19);
jLabel4.setText("終結符");
jPanel.add(getJButton(), null);
jPanel.add(jLabel, null);
jPanel.add(jLabel1, null);
jPanel.add(jLabel2, null);
jPanel.add(getJTextField1(), null);
jPanel.add(jLabel3, null);
jPanel.add(getJTextField2(), null);
jPanel.add(jLabel4, null);
jPanel.add(getJTextField3(), null);
}
return jPanel;
}
/**
* This method initializes jButton
*
* @return javax.swing.JButton
*/
private JButton getJButton() {
if (jButton == null) {
jButton = new JButton();
jButton.setBounds(90, 165, 106, 23);
jButton.setText("讀入文法");
jButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
if(jTextField1.getText().equals("")||jTextField2.getText().equals("")||jTextField3.getText().equals("")){
JOptionPane.showMessageDialog(null,"您輸入的文法信息不全","提示",0) ;
}
else{
try{
fd=new FileDialog(jFrame,"讀入文法");
fd.setVisible(true);
File f1=new File(fd.getDirectory(),fd.getFile());
FileReader in=new FileReader(f1);
BufferedReader bufferin=new BufferedReader(in);
String str=null;
/*
l.termin="+*i()";
l.non_ter="ETRYF";
l.v="ETRYF+*i()";
l.start='E';
*/
l.termin=jTextField3.getText();
l.nonter=jTextField2.getText();
l.start=jTextField1.getText().charAt(0);
l.v=l.nonter+l.termin;
/*l.termin="adbe";
l.non_ter="SMHA";
l.v="SMHAabde";
l.start='S';
*/
int i=0;
while((str=bufferin.readLine())!=null) {
l.split(str);
textArea.append(str+"\n");
}
l.initialize();
bufferin.close();
in.close();
mycard.next(jContentPane);
}
catch(Exception ef){ System.out.println(ef);}
}} });
}
return jButton;
}
/**
* This method initializes jPanel1
*
* @return javax.swing.JPanel
*/
private JPanel getJPanel1() {
if (jPanel1 == null) {
jPanel1 = new JPanel();
jPanel1.setLayout(null);
jPanel1.setPreferredSize(new java.awt.Dimension(40,40));
jPanel1.setSize(298, 210);
jPanel1.setName("jPanel1");
jPanel1.add(getJButton1(), null);
jPanel1.add(getJButton2(), null);
jPanel1.add(getJButton3(), null);
jPanel1.add(getJButton4(), null);
jPanel1.add(getTextArea(), null);
jPanel1.add(getJButton6(), null);
jPanel1.add(getJTextField(), null);
jPanel1.add(getJButton7(), null);
}
return jPanel1;
}
/**
* This method initializes jButton1
*
* @return javax.swing.JButton
*/
private JButton getJButton1() {
if (jButton1 == null) {
jButton1 = new JButton();
jButton1.setText("first集");
jButton1.setLocation(3, 31);
jButton1.setSize(85, 19);
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
textArea.setText("");
for(int i=0;i<l.v.length();i++){
char temp[]=l.first1[i].toCharArray();
textArea.append("first("+l.v.charAt(i)+")"+
"={");
for(int j=0;j<l.first1[i].length();j++){
textArea.append(temp[j]+" ");
}
textArea.append("}\n");
}
}
});
}
return jButton1;
}
/**
* This method initializes jButton2
*
* @return javax.swing.JButton
*/
private JButton getJButton2() {
if (jButton2 == null) {
jButton2 = new JButton();
jButton2.setText("follow集 ");
jButton2.setPreferredSize(new java.awt.Dimension(84,40));
jButton2.setBounds(3, 57, 85, 19);
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
textArea.setText("");
for(int i=0;i<l.nonter.length();i++){
char temp[]=l.follow[i].toCharArray();
textArea.append("follow("+l.v.charAt(i)+")"+
"={");
for(int j=0;j<l.follow[i].length();j++){
textArea.append(temp[j]+" ");
}
textArea.append("}\n");
}
}
});
}
return jButton2;
}
/**
* This method initializes jButton3
*
* @return javax.swing.JButton
*/
private JButton getJButton3() {
if (jButton3 == null) {
jButton3 = new JButton();
jButton3.setText("select集");
jButton3.setBounds(3, 84, 85, 19);
jButton3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
textArea.setText("");
for(int i=0;i<l.count;i++){
char temp[]=l.select[i].toCharArray();
textArea.append("select("+l.left[i]+"" +"->"+l.right[i]+")"+
"={");
for(int j=0;j<l.select[i].length();j++){
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -