📄 console.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 + -