?? affichage.java
字號:
package Affichage;
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.BorderLayout;
import java.awt.Dimension;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JTextField;
import javax.swing.JList;
import java.awt.Rectangle;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Properties;
import javax.swing.JFileChooser;
import javax.swing.JSlider;
import javax.swing.JButton;
import javax.swing.JLabel;
import Moteur.MT;
import Moteur.Regle;
import Moteur.Variable;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JCheckBox;
import javax.swing.JOptionPane;
import java.awt.Font;
import java.awt.event.KeyEvent;
import javax.swing.JTabbedPane;
import javax.swing.JTree;
import javax.swing.tree.DefaultMutableTreeNode;
/**
* @author emiliendreyfus@msn.com
*
*/
public class Affichage implements AffichageCallBack {
private JFrame jFrame = null; // @jve:decl-index=0:visual-constraint="280,27"
private JPanel jContentPane = null;
private JMenuBar jJMenuBar = null;
private JMenu jMenu = null;
private JMenuItem Ouvrir = null;
private JTextField jEntree = null;
private JPanel jControlPanel = null;
private JTextField jEtat = null;
private JTextField jSymbole = null;
private JTextField jNouvelEtat = null;
private JTextField jNouveauSymbole = null;
private JSlider jDirection = null;
private JButton jRun = null;
private JLabel jLabel = null;
private JMenuItem Nouveau = null;
private JMenuItem EnregistrerSous = null;
private JButton jAjouter = null;
private JButton jRetirer = null;
private MT machine = new MT(); // @jve:decl-index=0:
private JScrollPane jScrollPane1 = null;
private JTextArea jResult = null;
private JCheckBox jFinal = null;
private JButton jModifier = null;
String adresseFichier;
private JMenuItem jEnregistrer = null;
private JScrollPane jScrollPane = null;
private JList jRegles = null;
private JMenu Aide = null;
private JMenuItem jTest = null;
private JMenuItem jAide = null;
private JLabel jLabel1 = null;
private JLabel jLabel2 = null;
private JScrollPane jScrollPane2 = null;
private JList jVariables = null;
private JTextField jCode = null;
private JLabel jLabel3 = null;
private JButton jAjouterVar = null;
private JButton jRetirerVar = null;
private JButton jModifierVar = null;
private JLabel jLabel4 = null;
private JTextField jNomVar = null;
private JTabbedPane jTabbedPane = null;
private JPanel jVarPanel = null;
private JTree jTree = null;
private DefaultMutableTreeNode jTreeTop=new DefaultMutableTreeNode("Programme");
private JScrollPane jScrollPane3 = null;
public class JMTNode extends DefaultMutableTreeNode{
/**
*
*/
private static final long serialVersionUID = 1L;
public JMTNode(String string, int i) {
regle=string;
index=i;
}
public String regle;
public int index;
public String toString(){
return regle;
}
}
public Affichage() {
machine.prog.registerInterface(this);
}
private void register() {
machine.prog.registerInterface(this);
}
/**
* This method initializes jFrame
*
* @return javax.swing.JFrame
*/
private JFrame getJFrame() {
if (jFrame == null) {
jFrame = new JFrame();
jFrame.setSize(new Dimension(522, 450));
jFrame.setTitle("Simulateur de machine de Turing");
jFrame.setJMenuBar(getJJMenuBar());
jFrame.setContentPane(getJContentPane());
jFrame.addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent e) {
close();
}
});
}
return jFrame;
}
protected void close() {
jFrame.setVisible(false);
System.exit(0);
}
/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
jContentPane.setLayout(new BorderLayout());
jContentPane.add(getJEntree(), BorderLayout.NORTH);
jContentPane.add(getJScrollPane1(), BorderLayout.SOUTH);
jContentPane.add(getJScrollPane(), BorderLayout.WEST);
jContentPane.add(getJTabbedPane(), BorderLayout.CENTER);
jContentPane.add(getJScrollPane3(), BorderLayout.EAST);
}
return jContentPane;
}
/**
* This method initializes jJMenuBar
*
* @return javax.swing.JMenuBar
*/
private JMenuBar getJJMenuBar() {
if (jJMenuBar == null) {
jJMenuBar = new JMenuBar();
jJMenuBar.add(getJMenu());
jJMenuBar.add(getAide());
}
return jJMenuBar;
}
/**
* This method initializes jMenu
*
* @return javax.swing.JMenu
*/
private JMenu getJMenu() {
if (jMenu == null) {
jMenu = new JMenu();
jMenu.setName("Fichier");
jMenu.setText("Fichier");
jMenu.setRolloverEnabled(true);
jMenu.add(getNouveau());
jMenu.add(getOuvrir());
jMenu.add(getJEnregistrer());
jMenu.add(getEnregistrerSous());
}
return jMenu;
}
/**
* This method initializes Ouvrir
*
* @return javax.swing.JMenuItem
*/
private JMenuItem getOuvrir() {
if (Ouvrir == null) {
Ouvrir = new JMenuItem();
Ouvrir.setText("Ouvrir");
Ouvrir.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
JFileChooser chooser = new JFileChooser();
int returnVal = chooser.showOpenDialog(null);
if (returnVal == JFileChooser.APPROVE_OPTION) {
try {
machine.chargerProg(chooser.getSelectedFile()
.getAbsolutePath());
} catch (Exception e1) {
JOptionPane.showMessageDialog(jFrame, e1.getMessage(),
"Attention",
JOptionPane.WARNING_MESSAGE);
}
updateContainers();
adresseFichier = chooser.getSelectedFile()
.getAbsolutePath();
}
}
});
}
return Ouvrir;
}
/**
* This method initializes jEntree
*
* @return javax.swing.JTextField
*/
private JTextField getJEntree() {
if (jEntree == null) {
jEntree = new JTextField();
}
return jEntree;
}
/**
* This method initializes jControlPanel
*
* @return javax.swing.JPanel
*/
private JPanel getJControlPanel() {
if (jControlPanel == null) {
jLabel4 = new JLabel();
jLabel4.setBounds(new Rectangle(15, 150, 136, 16));
jLabel4.setText("Programme:");
jLabel3 = new JLabel();
jLabel3.setFont(new Font("Arial", Font.BOLD, 12));
jLabel3.setDisplayedMnemonic(KeyEvent.VK_UNDEFINED);
jLabel3.setBounds(new Rectangle(15, 30, 196, 16));
jLabel3.setText(" X
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -