📄 cplusmpiui.java
字号:
toolBar.add(saveAsButton);
toolBar.addSeparator();
toolBar.add(undoButton);
toolBar.add(redoButton);
toolBar.add(cutButton);
toolBar.add(copyButton);
toolBar.add(pasteButton);
toolBar.add(deleteButton);
toolBar.add(searchButton);
toolBar.addSeparator();
toolBar.add(helpButton);
container.add(toolBar,BorderLayout.NORTH);
statusLabel = new JLabel("就绪");
container.add(statusLabel,BorderLayout.SOUTH);
}
// EventListener
private void setUpEventListener(){
//add file_opration listener
fileMenu_New.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
newFilePerformed();
}
});
fileMenu_Open.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
openFilePerformed();
}
});
fileMenu_Save.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
saveFilePerformed();
}
});
fileMenu_SaveAs.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
saveFileAsPerformed();
}
});
fileMenu_Exit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
exitPerformed();
}
});
//add edit_opration listener
editMenu_Undo.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
undoPerformed();
}
});
editMenu_Redo.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
redoPerformed();
}
});
editMenu_Copy.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
copyPerformed();
}
});
editMenu_Cut.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
cutPerformed();
}
});
editMenu_Paste.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
pastePerformed();
}
});
editMenu_Delete.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
deletePerformed();
}
});
editMenu_Find.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
searchPerformed();
}
});
editMenu_FindNext.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
searchNextPermored();
}
});
editMenu_Replace.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
replacePerformed();
}
});
editMenu_Delete.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
deletePerformed();
}
});
editMenu_SelectAll.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
selectAllPerformed();
}
});
//add help_opration listener
helpMenu_About.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
helpPerformed();
}
});
helpMenu_HelpTopics.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
helpTopicsPerformed();
}
});
//add right_mouse_clicked listener
popupMenu_Undo.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
undoPerformed();
}
});
popupMenu_Redo.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
redoPerformed();
}
});
popupMenu_Cut.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
cutPerformed();
}
});
popupMenu_Copy.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
copyPerformed();
}
});
popupMenu_Paste.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
pastePerformed();
}
});
popupMenu_Delete.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
deletePerformed();
}
});
popupMenu_SelectAll.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
selectAllPerformed();
}
});
//add toolbar_opration listener
undoButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
undoPerformed();
}
});
redoButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
redoPerformed();
}
});
cutButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
cutPerformed();
}
});
copyButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
copyPerformed();
}
});
pasteButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
pastePerformed();
}
});
deleteButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
deletePerformed();
}
});
searchButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
searchPerformed();
}
});
helpButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
helpTopicsPerformed();
}
});
newButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
newFilePerformed();
}
});
openButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
openFilePerformed();
}
});
saveButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
saveFilePerformed();
}
});
saveAsButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
saveFileAsPerformed();
}
});
//add key_Released opration
textPane.addKeyListener(new KeyAdapter(){
public void keyReleased(KeyEvent e){
if(e.getKeyCode() != 114)
highShowPerformed();
if(e.getKeyChar() == '\n' || e.getKeyChar() == '}')
formatControlPerformed();
}
});
// add windowlistener
this.addWindowListener(
new WindowAdapter(){
public void windowClosing(WindowEvent e){
exitPerformed();
}
});
//add undo_listener
textPane.getDocument().addUndoableEditListener(undoHandler);
//add document listener
textPane.getStyledDocument().addDocumentListener(new DocumentListener() {
public void changedUpdate(DocumentEvent e) {
editMenu_Undo.setEnabled(true);
popupMenu_Undo.setEnabled(true);
undoButton.setEnabled(true);
}
public void insertUpdate(DocumentEvent e) {
editMenu_Undo.setEnabled(true);
popupMenu_Undo.setEnabled(true);
undoButton.setEnabled(true);
offset = e.getOffset();
}
public void removeUpdate(DocumentEvent e) {
editMenu_Undo.setEnabled(true);
popupMenu_Undo.setEnabled(true);
undoButton.setEnabled(true);
offset = e.getOffset();
}
});
//add mouselistener
textPane.addMouseListener(
new MouseAdapter(){
public void mousePressed(MouseEvent e){
checkForTriggerEvent(e);
}
public void mouseReleased(MouseEvent e){
checkForTriggerEvent(e);
}
private void checkForTriggerEvent(MouseEvent e){
if(e.isPopupTrigger())
popupMenu.show(e.getComponent(),e.getX(),e.getY());
checkMenuItemEnabled();
textPane.requestFocus();
}
});
}
private void setUpFont(){
textPane.setFont(defaultFont);//设置编辑区默认字体
keyAttr = new SimpleAttributeSet();
StyleConstants.setFontFamily(keyAttr,"Gulim");
StyleConstants.setBold(keyAttr,true);
StyleConstants.setFontSize(keyAttr,14);
StyleConstants.setForeground(keyAttr, Color.BLUE);
mpiAttr = new SimpleAttributeSet();
StyleConstants.setFontFamily(mpiAttr,"Gulim");
StyleConstants.setBold(mpiAttr,true);
StyleConstants.setFontSize(mpiAttr,14);
StyleConstants.setForeground(mpiAttr, new Color(255,154,0));
mpiFunctionAttr = new SimpleAttributeSet();
StyleConstants.setFontFamily(mpiFunctionAttr,"Gulim");
StyleConstants.setBold(mpiFunctionAttr,true);
StyleConstants.setFontSize(mpiFunctionAttr,14);
StyleConstants.setForeground(mpiFunctionAttr,new Color(156,48,99));
normalAttr = new SimpleAttributeSet();
StyleConstants.setFontFamily(normalAttr,"Gulim");
StyleConstants.setBold(normalAttr,true);
StyleConstants.setFontSize(normalAttr,14);
StyleConstants.setForeground(normalAttr, Color.BLACK);
commentAttr = new SimpleAttributeSet();
StyleConstants.setFontFamily(commentAttr,"Gulim");
StyleConstants.setBold(commentAttr,true);
StyleConstants.setFontSize(commentAttr,14);
StyleConstants.setForeground(commentAttr, new Color(0,132,0));
createStyle("normalAttr",styledDoc,14,1,0,0,Color.black,"Gulim");
}
protected void createStyle(String style,StyledDocument doc,int size,int bold,
int italic,int underline,Color color,String fontName){
Style sys = StyleContext.getDefaultStyleContext
().getStyle(StyleContext.DEFAULT_STYLE);
try{
doc.removeStyle(style);
} catch(Exception e) {}
Style s = doc.addStyle(style,sys);
StyleConstants.setFontSize(s,size);
StyleConstants.setBold(s,(bold == 1)?true:false);
StyleConstants.setItalic(s,(italic == 1)?true:false);
StyleConstants.setUnderline(s,(underline == 1)?true:false);
StyleConstants.setForeground(s,color);
StyleConstants.setFontFamily(s,fontName);
}
protected void insertDoc(StyledDocument styledDoc,
String content,String currentStyle){
try{
styledDoc.insertString(styledDoc.getLength(),content,styledDoc.getStyle(currentStyle));
} catch(BadLocationException e) {
System.err.println("BadLocationException: " + e);
}
}
protected abstract void openFilePerformed();
protected abstract void saveFilePerformed();
protected abstract void saveFileAsPerformed();
protected abstract void exitPerformed();
protected abstract void cutPerformed();
protected abstract void copyPerformed();
protected abstract void pastePerformed();
protected abstract void searchPerformed();
protected abstract void searchNextPermored();
protected abstract void replacePerformed();
protected abstract void newFilePerformed();
protected abstract void deletePerformed();
protected abstract void redoPerformed();
protected abstract void undoPerformed();
protected abstract void selectAllPerformed();
protected abstract void helpPerformed();
protected abstract void helpTopicsPerformed();
protected abstract void highShowPerformed();
protected abstract void formatControlPerformed();
class UndoHandler implements UndoableEditListener {
public void undoableEditHappened(UndoableEditEvent uee){
undo.addEdit(uee.getEdit());
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -