outermonitor.java
来自「由浅入深的介绍JAVAse的基本编程思想」· Java 代码 · 共 62 行
JAVA
62 行
import java.awt.*;
import java.awt.event.*;
public class OuterMonitor extends MouseMotionAdapter implements ActionListener{
private TextArea msgBoard;
private Button[] buttons;
private String clipBoard = "";
public OuterMonitor(TextArea msgBoard,Button[] buttons){
this.msgBoard = msgBoard;
this.buttons = buttons;
}
public void setClipBoard(String text){
this.clipBoard = text;
}
public String getClipBoard(){
return this.clipBoard;
}
@Override
public void actionPerformed(ActionEvent e){
int positon = msgBoard.getSelectionStart();
String s = e.getActionCommand();
if(s.equals("RESET")){
msgBoard.setText("");
}else if(s.equals("SUBMIT") ){
System.out.println("你的留言为:\n " + msgBoard.getText());
}else if(s.equals("COPY")){
clipBoard = msgBoard.getSelectedText();
msgBoard.setSelectionStart(msgBoard.getSelectionEnd());
}else if(s.equals("CUT")){
clipBoard = msgBoard.getSelectedText();
this.delete();
}else if(s.equals("PASTE")){
//msgBoard.insert(clipBoard,msgBoard.getCaretPosition());
String content = msgBoard.getText();
String alter = content.substring(0,positon) + clipBoard + content.substring(positon);
msgBoard.setText(alter);
}else if(s.equals("DELETE")){
this.delete();
}
this.switchButtons();
}
public void delete(){
int start = msgBoard.getSelectionStart();
int end = msgBoard.getSelectionEnd();
String content = msgBoard.getText();
String alter = content.substring(0,start) + content.substring(end);
msgBoard.setText(alter);
}
public void switchButtons(){
boolean clipped = (clipBoard!=null) && (clipBoard.length()>0);
buttons[2].setEnabled(clipped);
boolean selected = msgBoard.getSelectionEnd() != msgBoard.getSelectionStart();
buttons[0].setEnabled(selected);
buttons[1].setEnabled(selected);
buttons[3].setEnabled(selected);
}
@Override
public void mouseDragged(MouseEvent te){
this.switchButtons();
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?