1. package org.jr.swing;
  2. /**
  3. * Copyright: Copyright (c) 2002-2004
  4. * Company: JavaResearch(http://www.javaresearch.org)
  5. * 最后更新日期:2003年2月12日
  6. * @author Cherami
  7. */
  8. import javax.swing.*;
  9. import javax.swing.text.*;
  10. import org.jr.swing.text.*;
  11. /**
  12. * 将输入的小写字母自动转换为大写的Swing组件。
  13. * @since 0.1
  14. */
  15. public class JUppercaseTextField
  16. extends JTextField {
  17. /**
  18. * 缺省构造方法,构造一个新的JUppercaseTextField。
  19. * @since 0.3
  20. */
  21. public JUppercaseTextField() {
  22. super();
  23. }
  24. /**
  25. * 使用指定的字符列数构造具有最佳宽度的JUppercaseTextField。
  26. * @param columns 用于计算最佳宽度的列数
  27. * @since 0.1
  28. * @see javax.swing.JTextField#JTextField(int columns) javax.swing.JTextField.JTextField(int columns)
  29. */
  30. public JUppercaseTextField(int columns) {
  31. super(columns);
  32. }
  33. /**
  34. * 以指定的文本构造一个新的JUppercaseTextField。
  35. * @param text 初始显示文本
  36. * @since 0.3
  37. */
  38. public JUppercaseTextField(String text) {
  39. super(text);
  40. }
  41. /**
  42. * 以指定的文本和列数构造一个具有最佳宽度的新的JUppercaseTextField。
  43. * @param text 初始显示文本
  44. * @param columns 初始的列数
  45. * @since 0.3
  46. */
  47. public JUppercaseTextField(String text, int columns) {
  48. super(text, columns);
  49. }
  50. /**
  51. * 创建缺省的文档模型。
  52. * @return 自动将小写字母转换为大小字母的文档模型
  53. * @since 0.1
  54. */
  55. protected Document createDefaultModel() {
  56. return new UppercaseDocument();
  57. }
  58. }