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

📄 fontdemo.java

📁 CMM语言编译器的词法分析部分
💻 JAVA
字号:
//Font for font_action
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Rectangle;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextArea;
import javax.swing.JTextField;

public class FontDemo extends JFrame {
	String fontName[] = { "宋体", "黑体", "新宋体" };

	String fontSize[] = { "15", "16", "17", "18", "19", "20" };

	String fontStyle[] = { "常规", "斜体", "粗体", "粗斜体" };

	JLabel lbName = new JLabel("字体");

	JLabel lbStyle = new JLabel("字形");

	JLabel lbSize = new JLabel("大小");

	JLabel lbDemo = new JLabel("示例");

	JButton jbOK = new JButton("确定");

	JButton jbCancel = new JButton("取消");

	JTextField textName = new JTextField();

	JTextField textStyle = new JTextField();

	JTextField textSize = new JTextField();

	JTextField textDemo = new JTextField("Lexical Analyzer");

	java.awt.List font_Name = new java.awt.List();

	java.awt.List font_Style = new java.awt.List();

	java.awt.List font_Size = new java.awt.List();

	String str;

	int a, b, size;

	public FontDemo() {
		lbName.setBounds(new Rectangle(14, 40, 46, 13));
		lbStyle.setBounds(new Rectangle(169, 40, 46, 13));
		lbSize.setBounds(new Rectangle(288, 40, 46, 13));
		textName.setBounds(new Rectangle(15, 51, 143, 20));
		textStyle.setBounds(new Rectangle(167, 51, 107, 20));
		textSize.setBounds(new Rectangle(287, 51, 52, 20));
		font_Name.setBounds(new Rectangle(13, 70, 145, 87));
		font_Style.setBounds(new Rectangle(168, 70, 110, 87));
		font_Size.setBounds(new Rectangle(287, 70, 51, 87));
		lbDemo.setBounds(new Rectangle(100, 180, 30, 50));
		textDemo.setBounds(new Rectangle(200, 180, 150, 50));
		textDemo.setHorizontalAlignment(JTextField.CENTER);
		jbOK.setBounds(new Rectangle(350, 53, 65, 16));
		jbCancel.setBounds(new Rectangle(350, 77, 65, 16));

		add(lbName);
		add(lbStyle);
		add(lbSize);
		add(textName);
		add(textStyle);
		add(textSize);
		add(font_Name);
		add(font_Style);
		add(font_Size);
		add(jbOK);
		add(jbCancel);
		add(lbDemo);
		add(textDemo);

		for (int i = 0; i < fontName.length; i++)
			font_Name.addItem(fontName[i]);
		font_Name.select(0);
		textName.setText(font_Name.getSelectedItem());
		font_Name.addItemListener(new ItemListener() {
			public void itemStateChanged(ItemEvent e) {
				textName.setText(font_Name.getSelectedItem());
			}
		});
		for (int i = 0; i < fontStyle.length; i++)
			font_Style.addItem(fontStyle[i]);
		font_Style.select(0);
		textStyle.setText(font_Style.getSelectedItem());
		font_Style.addItemListener(new ItemListener() {
			public void itemStateChanged(ItemEvent e) {
				textStyle.setText(font_Style.getSelectedItem());
			}
		});
		for (int i = 0; i < fontSize.length; i++)
			font_Size.addItem(fontSize[i]);
		font_Size.select(0);
		textSize.setText(font_Size.getSelectedItem());
		font_Size.addItemListener(new ItemListener() {
			public void itemStateChanged(ItemEvent e) {
				textSize.setText(font_Size.getSelectedItem());
			}
		});

		jbOK.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				str = textName.getText();
				size = Integer.parseInt(textSize.getText());
				if (font_Style.getSelectedItem() == "常规") {
					a = Font.PLAIN;
					b = Font.PLAIN;
				} else if (font_Style.getSelectedItem() == "斜体") {
					a = Font.PLAIN;
					b = Font.ITALIC;
				} else if (font_Style.getSelectedItem() == "粗体") {
					a = Font.BOLD;
					b = Font.PLAIN;
				} else {
					a = Font.BOLD;
					b = Font.ITALIC;
				}
				Font font = new Font(str, a + b, size);

				jTextArea1.setFont(font);
				jTextArea1.setText(jTextArea1.getText());

				jTextArea2.setFont(font);
				jTextArea2.setText(jTextArea2.getText());
				setVisible(false);
			}
		});
		frm = new AnalyzerFrame("CMM Lexical Analyzer");
		Toolkit theKit = frm.getToolkit();
		Dimension wndSize = theKit.getScreenSize();

		this.getContentPane().setLayout(null);
		this.setBounds(wndSize.width / 4, wndSize.height / 4,
				wndSize.width * 3 / 7, wndSize.height * 2 / 5);
		this.setTitle("字体");
		this.setVisible(true);

	}

	private JTextArea jTextArea1 = new JTextArea();

	private JTextArea jTextArea2 = new JTextArea();

	private JFrame frm = new JFrame();
}

⌨️ 快捷键说明

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