注册键盘动作: registerKeyboardAction : 文本控件 « Swing « Java 教程

En
Java 教程
1. 语言基础
2. 数据类型
3. 操作符
4. 流程控制
5. 类定义
6. 开发相关
7. 反射
8. 正则表达式
9. 集合
10. 线
11. 文件
12. 泛型
13. 本土化
14. Swing
15. Swing事件
16. 二维图形
17. SWT
18. SWT 二维图形
19. 网络
20. 数据库
21. Hibernate
22. JPA
23. JSP
24. JSTL
25. Servlet
26. Web服务SOA
27. EJB3
28. Spring
29. PDF
30. 电子邮件
31. 基于J2ME
32. J2EE应用
33. XML
34. 设计模式
35. 日志
36. 安全
37. Apache工具
38. 蚂蚁编译
39. JUnit单元测试
Java
Java 教程 » Swing » 文本控件 
14. 14. 6. 注册键盘动作: registerKeyboardAction
注册键盘动作: registerKeyboardAction
import java.awt.BorderLayout;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;

import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenuItem;
import javax.swing.JPopupMenu;
import javax.swing.JTextField;
import javax.swing.KeyStroke;
import javax.swing.text.BadLocationException;

public class PopupSample {
  public static void main(String args[]) {
    JFrame frame = new JFrame("Popup Example");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    final JPopupMenu popup = new JPopupMenu();
    JMenuItem menuItem1 = new JMenuItem("Option 1");
    popup.add(menuItem1);

    JMenuItem menuItem2 = new JMenuItem("Option 2");
    popup.add(menuItem2);

    final JTextField textField = new JTextField();
    frame.add(textField, BorderLayout.NORTH);

    ActionListener actionListener = new ActionListener() {
      public void actionPerformed(ActionEvent actionEvent) {
        try {
          int dotPosition = textField.getCaretPosition();
          Rectangle popupLocation = textField.modelToView(dotPosition);
          popup.show(textField, popupLocation.x, popupLocation.y);
        catch (BadLocationException badLocationException) {
          System.err.println("Oops");
        }
      }
    };
    KeyStroke keystroke = KeyStroke.getKeyStroke(KeyEvent.VK_PERIOD, 0false);
    textField.registerKeyboardAction(actionListener, keystroke, JComponent.WHEN_FOCUSED);

    frame.add(new JLabel("Press '.' to activate Popup menu"), BorderLayout.SOUTH);
    frame.setSize(250150);
    frame.setVisible(true);
  }
}
14. 14. 文本控件
14. 14. 1. JTextComponent: the parent class for all the components used as textual views.
14. 14. 2. 绘制背景组件绘制背景组件
14. 14. 3. 加载和保存内容加载和保存内容
14. 14. 4. 使用系统剪贴板使用系统剪贴板
14. 14. 5. 默认编辑器工具包: cutAction默认编辑器工具包: cutAction
14. 14. 6. 注册键盘动作: registerKeyboardAction注册键盘动作: registerKeyboardAction
14. 14. 7. CaretListener接口和CaretEvent类CaretListener接口和CaretEvent类
14. 14. 8. 限制加字符事件: NavigationFilter限制加字符事件: NavigationFilter
14. 14. 9. 从文字部分删除键盘事件从文字部分删除键盘事件
14. 14. 10. 监听文字组件事件ActionListener监听文字组件事件ActionListener
14. 14. 11. 监听JTextField事件KeyListener监听JTextField事件KeyListener
14. 14. 12. 共享文件
14. 14. 13. 监听文字组件事件InputVerifier监听文字组件事件InputVerifier
14. 14. 14. TextAction名常量
14. 14. 15. 使用文字组件事件使用文字组件事件
14. 14. 16. 监听文字活动, DocumentListener监听文字活动, DocumentListener
14. 14. 17. 打印文本组件打印文本组件
14. 14. 18. GIF格式
14. 14. 19. Text component supports both cut, copy and paste (using the DefaultEditorKit's built-in actions) and drag and drop
14. 14. 20. 覆盖默认操作的JTextComponent
14. 14. 21. Modifying Text in a JTextComponent: Insert some text at the beginning
14. 14. 22. Modifying Text in a JTextComponent: Insert some text after the 5th character
14. 14. 23. 修改文字JTextComponent :附加一些文字
14. 14. 24. Modifying Text in a JTextComponent: Delete the first 5 characters
14. 14. 25. Modifying Text in a JTextComponent: Replace the first 3 characters with some text
14. 14. 26. 限制文字长度的JTextComponent
14. 14. 27. 过滤所有编辑操作
14. 14. 28. 文字拖拽JTextComponent
14. 14. 29. 枚举所有视图JTextComponent
14. 14. 30. 从JTextComponents共享文件
14. 14. 31. 突出一个字JTextComponent
14. 14. 32. 删除突出的文字JTextComponent
14. 14. 33. 监听加字符事件JTextComponent
14. 14. 34. 监听编辑事件JTextComponent
14. 14. 35. 移动加字符JTextComponent
14. 14. 36. 设置加字符眨眼率JTextComponent
14. 14. 37. 使用选择JTextComponent
14. 14. 38. 更好的办法来确定选择
14. 14. 39. 设置选定文本颜色的背景
14. 14. 40. 设置加字符颜色
14. 14. 41. 文件和DocumentFilter
www.java2java.com | Contact Us
Copyright 2010 - 2030 Java Source and Support. All rights reserved.
All other trademarks are property of their respective owners.