Source code: com/eireneh/swing/UpperCaseDocument.java
1
2 package com.eireneh.swing;
3
4 import javax.swing.*;
5 import javax.swing.text.*;
6
7 /**
8 * An upper case document simply extends document to make all
9 * the text entered upper case according to Character.toUpperCase.
10 *
11 * <table border='1' cellPadding='3' cellSpacing='0' width="100%">
12 * <tr><td bgColor='white'class='TableRowColor'><font size='-7'>
13 * Distribution Licence:<br />
14 * Project B is free software; you can redistribute it
15 * and/or modify it under the terms of the GNU General Public License,
16 * version 2 as published by the Free Software Foundation.<br />
17 * This program is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20 * General Public License for more details.<br />
21 * The License is available on the internet
22 * <a href='http://www.gnu.org/copyleft/gpl.html'>here</a>, by writing to
23 * <i>Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
24 * MA 02111-1307, USA</i>, Or locally at the Licence link below.<br />
25 * The copyright to this program is held by it's authors.
26 * </font></td></tr></table>
27 * @see <a href='http://www.eireneh.com/servlets/Web'>Project B Home</a>
28 * @see docs.Licence
29 * @see java.lang.Character#toUpperCase(char)
30 * @author Joe Walker
31 */
32 public class UpperCaseDocument extends PlainDocument
33 {
34 /**
35 * Override insertString to force upper case
36 */
37 public void insertString(int offs, String str, AttributeSet att) throws BadLocationException
38 {
39 if (str == null) return;
40 char[] upper = str.toCharArray();
41
42 for (int i = 0; i < upper.length; i++)
43 {
44 upper[i] = Character.toUpperCase(upper[i]);
45 }
46
47 super.insertString(offs, new String(upper), att);
48 }
49 }