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