⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 affichage.java

📁 Java编写的模仿图灵机的程序源代码
💻 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 + -