这里面包含了一百多个JAVA源文件

源代码在线查看: e1002. creating a custom editing command for a jtextcomponent.txt

软件大小: 551 K
上传用户: maple_78
关键词: JAVA
下载地址: 免注册下载 普通下载 VIP

相关代码

				This example demonstrates how to implement an editing command. There are two steps when creating a custom command. The first is to create an action object that executes the desired functionality and then installs the action object in the component. The second is to bind a keystroke to the action object using an inputmap. 
				Text component actions should extend from TextAction. TextAction has a convenience method for finding the appropriate text component on which to operate. 
				
				This example implements a Lowercase command that converts characters to lowercase. If the selection is empty, the command converts the character following the caret and then moves the caret forward one space. If the selection is not empty, the command converts the characters in the selection. 
				
				    JTextArea comp = new JTextArea();
				    
				    // Bind F2 to the lowercase action
				    String actionName = "Lowercase";
				    comp.getInputMap().put(KeyStroke.getKeyStroke("F2"), actionName);
				    
				    // Install the action
				    comp.getActionMap().put(actionName,
				        new TextAction(actionName) {
				            public void actionPerformed(ActionEvent evt) {
				                lowercaseSelection(getTextComponent(evt));
				            }
				        }
				    );
				    
				    public static void lowercaseSelection(JTextComponent comp) {
				        if (comp.getSelectionStart() == comp.getSelectionEnd()) {
				            // There is no selection, only a caret
				            if (comp.getCaretPosition() < comp.getDocument().getLength()) {
				                // The caret must be at least one position left of the end
				                try {
				                    int pos = comp.getCaretPosition();
				                    Document doc = comp.getDocument();
				                    String str = doc.getText(pos, 1).toLowerCase();
				    
				                    doc.remove(pos, 1);
				                    doc.insertString(pos, str, null);
				                    comp.moveCaretPosition(pos+1);
				                } catch (BadLocationException e) {
				                }
				            }
				        } else {
				            // There is a selection
				            int s = comp.getSelectionStart();
				            int e = comp.getSelectionEnd();
				    
				            comp.replaceSelection(comp.getSelectedText().toLowerCase());
				            comp.select(s, e);
				        }
				    }
				
							

相关资源