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

📄 console.java

📁 编译器
💻 JAVA
字号:
package compiler;

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.TextArea;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.UIManager;
import javax.swing.border.BevelBorder;
import javax.swing.border.Border;

public class Console extends JFrame implements ActionListener
{
	private static final long serialVersionUID = 1L;
	
	public JPanel panel1;
	public JPanel panel2;
	
	public JButton compileButton;
	public Border border1 = new BevelBorder(BevelBorder.RAISED);
	public Border border2 = new BevelBorder(BevelBorder.LOWERED);
	
	public JMenuBar menuBar;
	public JMenu operateMenu;
	public JMenu editMenu;
	public JMenuItem compileItem;
	public JMenuItem clearItem;
	public TextArea textArea1;
	public TextArea textArea2;
	public Container container;
	
	UIManager.LookAndFeelInfo xxxxx[]=UIManager.getInstalledLookAndFeels();
	
	public Console()
	{
		setTitle("Console");
		
		panel1 = new JPanel();
		panel2 = new JPanel();
		container = getContentPane();
		
		//compileButton = new JButton("C");
		compileButton = new JButton(new ImageIcon("images/logo.gif"));
		
		menuBar = new JMenuBar();
		editMenu = new JMenu("Edit");
		operateMenu = new JMenu("Operate");
		compileItem = new JMenuItem("Compile" , 'C');
		clearItem = new JMenuItem("Clear" , 'C');
		
		textArea1 = new TextArea();
		textArea1.setFont(new Font("myFont" , Font.TRUETYPE_FONT , 15));
		textArea2 = new TextArea(7,10);
		textArea2.setFont(new Font("myFont" , Font.TRUETYPE_FONT  , 15));
	}
	
	public static void main(String[] args) 
	{
		Console console = new Console();
		console.showConsole();
		console.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		console.setSize(540 , 410);
		console.setVisible(true);
	}

	public void showConsole()
	{
		//处理menubar
		setJMenuBar(menuBar);
		menuBar.add(editMenu);
		menuBar.add(operateMenu);
		
		editMenu.add(clearItem);
		operateMenu.add(compileItem);
		
		panel1.setLayout(new FlowLayout(FlowLayout.LEFT));
		panel1.add(compileButton);
		
		compileButton.setBorder(border1);
		compileButton.setPreferredSize(new Dimension(25 , 25));
		compileButton.setContentAreaFilled(false);

	    container.setLayout(new BorderLayout());
	    container.add(panel1, BorderLayout.NORTH);
	    container.add(textArea1, BorderLayout.CENTER);
	    container.add(textArea2, BorderLayout.SOUTH);
	    
	    clearItem.addActionListener(this);
		compileItem.addActionListener(this);
		compileButton.addActionListener(this);
	}
	
	public void actionPerformed(ActionEvent e) 
	{
		if(e.getSource() == clearItem)
	  	{
			textArea1.setText("");
	  	}
	  	else if(e.getSource() == compileItem || e.getSource() == compileButton)
	  	{
	  		//compileButton.setBorder(border2);
	  		Parser parser = new Parser();
	  		parser.grammarAnalyze(textArea1.getText());
	  		textArea2.setText(Generator.ourPutOnConsole.toString());
	  	}
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -