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

📄 mytextpane.java

📁 一个C语言子集的编译器
💻 JAVA
字号:
package com.king4solomon.homework.compiler.gui;

import java.awt.*;
import java.io.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.text.*;
import java.awt.event.*;



@SuppressWarnings("serial")
public class MyTextPane extends JEditorPane {
	class MyEditorKit extends DefaultEditorKit {
		public MyEditorKit() {
			super();
		}

		public ViewFactory getViewFactory() {
			return new MViewFactory();
		}
	}

	class MViewFactory implements ViewFactory {
		public MViewFactory() {
		}

		public View create(Element element) {
			return new MyEditorView(element);
		}
	}

	public MyTextPane() {
		super();
		addKeyListener(new KeyAdapter() {
			public void keyReleased(KeyEvent ke) {
				if (!ke.isActionKey()
						|| ke.getKeyCode() == KeyEvent.VK_BACK_SPACE
						|| ke.getKeyCode() == KeyEvent.VK_ENTER) {
					saved = false;
				}
			}
		});
		MyEditorKit kit = new MyEditorKit();
		setFont(new Font("Courier   New", Font.HANGING_BASELINE, 13));
		setEditorKitForContentType("text/java", kit);
		setContentType("text/java");
		m_context = new StyleContext();
		m_doc = new DefaultStyledDocument(m_context);
		setDocument(m_doc);
		addCaretListener(new CaretListener() {
			public void caretUpdate(CaretEvent e) {
			}
		});

	}

	public void insert(String str, AttributeSet attrset) {
		Document docs = getDocument();// 利用getDocument()方法取得JTextPane的Document
		str = str + "\n";
		try {
			docs.insertString(docs.getLength(), str, attrset);
		} catch (BadLocationException ble) {
			System.out.println("BadLocationException:" + ble);
		}
	}

	public File file;

	public boolean saved = true;

	protected StyleContext m_context;

	protected DefaultStyledDocument m_doc;

}

⌨️ 快捷键说明

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