📄 formathandle.java
字号:
//FormatHandle.java
import java.awt.event.*;
import javax.swing.text.*;
public class FormatHandle implements ActionListener{
MainFrame mf;
public FormatHandle(MainFrame mf){
this.mf = mf;
}
public void actionPerformed(ActionEvent e){
Object evtSrc = e.getSource();
//构造可进行属性设置的类 SimpleAttributeSet的对象 fontAttr,用于给文本设置各种属性
SimpleAttributeSet fontAttr = new SimpleAttributeSet();
//selectedStr用于存储选中的文本
String selectedStr = mf.tp.getSelectedText();
//实现段落的左、中、右对齐功能
if(evtSrc == mf.alignLeft){
//给属性对象fontAttr添加左对齐的属性
StyleConstants.setAlignment(fontAttr,StyleConstants.ALIGN_LEFT);
//把属性对象fontAttr应用到光标所在的段落,则可实现段落的左对齐
//false表示追加属性,而不清除其它已设置的属性
mf.tp.setParagraphAttributes(fontAttr,false);
}
if(evtSrc == mf.alignCenter){
StyleConstants.setAlignment(fontAttr,StyleConstants.ALIGN_CENTER);
mf.tp.setParagraphAttributes(fontAttr,false);
}
if(evtSrc == mf.alignRight){
StyleConstants.setAlignment(fontAttr,StyleConstants.ALIGN_RIGHT);
mf.tp.setParagraphAttributes(fontAttr,false);
}
//实现对选中的文本进行加粗、斜体或清除样式的设置
if(evtSrc == mf.styleBold){
StyleConstants.setBold(fontAttr,true);
mf.tp.setCharacterAttributes(fontAttr,false);
}
if(evtSrc == mf.styleItalic){
StyleConstants.setItalic(fontAttr,true);
mf.tp.setCharacterAttributes(fontAttr,false);
}
if(evtSrc == mf.stylePlain){
StyleConstants.setBold(fontAttr,false);
StyleConstants.setItalic(fontAttr,false);
mf.tp.setCharacterAttributes(fontAttr,false);
}
//实现字体选项设置
if(evtSrc == mf.fontOption){
FontDialog fontDlg = new FontDialog(mf);
fontDlg.setVisible(true);
fontDlg.validate();
StyleConstants.setFontFamily(fontAttr,fontDlg.getNewFontName());
StyleConstants.setFontSize(fontAttr,fontDlg.getNewSize());
StyleConstants.setForeground(fontAttr,fontDlg.getNewColor());
mf.tp.setCharacterAttributes(fontAttr,false);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -