📄 editorpane.java
字号:
package tokenchecker;
import javax.swing.*;
import java.util.*;
import java.awt.*;
import javax.swing.text.*;
import java.io.*;
public class EditorPane extends JTextPane{
String st, str;
Style basicStyle, wrongWord, rightWord;
String Basic = "Basic";
String Wrong = "Wrong";
String Right = "Right";
String Red = "red";
boolean corresponding;
Token tk;
int line;
public EditorPane(){
super();
createStyle();
}
public void setText(LinkedList tokens){
int i;
i = -1;
AttributeSet s;
int tem;
line = 1;
ListIterator li = tokens.listIterator();
while(li.hasNext()){
i++;
tk = (Token)(li.next());
st = tk.getWord();
StyledDocument doc = getStyledDocument();
if((tem = tk.getRow() - line) > 0){
line = tk.getRow();
for(int j = 0;j < tem;j++){
replaceSelection("\n");
int startPoint = doc.getLength();
setSelectionStart(startPoint);
}
}
if(!(tk.isCorrect()))
s = doc.getStyle(Wrong);
else
s = doc.getStyle(Right);
setCharacterAttributes(s, true);
replaceSelection(st + " ");
}
}
private void createStyle(){
StyledDocument doc = getStyledDocument();
basicStyle = doc.addStyle(Basic, null);
StyleConstants.setFontFamily(basicStyle, "SansSerif");
StyleConstants.setFontSize(basicStyle, 14);
StyleConstants.setForeground(basicStyle, Color.white);
StyleConstants.setFirstLineIndent(basicStyle, 50.0f);
StyleConstants.setSpaceAbove(basicStyle, 6);
StyleConstants.setSpaceBelow(basicStyle, 0);
StyleConstants.setAlignment(basicStyle, StyleConstants.ALIGN_LEFT);
wrongWord = doc.addStyle(Wrong, null);
StyleConstants.setForeground(wrongWord, Color.red);
StyleConstants.setUnderline(wrongWord, true);
rightWord = doc.addStyle(Right, null);
StyleConstants.setUnderline(rightWord, false);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -