org.sf.cafebabe.gadget.bodyeditor.util
Class HexDocument

java.lang.Object
  extended by javax.swing.text.AbstractDocument
      extended by javax.swing.text.PlainDocument
          extended by org.sf.cafebabe.gadget.bodyeditor.util.HexDocument
All Implemented Interfaces:
java.io.Serializable, javax.swing.text.Document

public class HexDocument
extends javax.swing.text.PlainDocument

Document replacement to only accept hex digits as input. If the user enters something other than hex digits, they are not entered, and the system beeps.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.text.AbstractDocument
javax.swing.text.AbstractDocument.AbstractElement, javax.swing.text.AbstractDocument.AttributeContext, javax.swing.text.AbstractDocument.BranchElement, javax.swing.text.AbstractDocument.Content, javax.swing.text.AbstractDocument.DefaultDocumentEvent, javax.swing.text.AbstractDocument.ElementEdit, javax.swing.text.AbstractDocument.LeafElement
 
Field Summary
 
Fields inherited from class javax.swing.text.PlainDocument
lineLimitAttribute, tabSizeAttribute
 
Fields inherited from class javax.swing.text.AbstractDocument
BAD_LOCATION, BidiElementName, ContentElementName, ElementNameAttribute, listenerList, ParagraphElementName, SectionElementName
 
Fields inherited from interface javax.swing.text.Document
StreamDescriptionProperty, TitleProperty
 
Constructor Summary
HexDocument(byte[] buffer)
           
 
Method Summary
 byte[] getBytes()
           
 void insertString(int offset, java.lang.String str, javax.swing.text.AttributeSet attr)
          Handles the insertion of characters into the document, disallowing anything other than hex digits.
 
Methods inherited from class javax.swing.text.PlainDocument
createDefaultRoot, getDefaultRootElement, getParagraphElement, insertUpdate, removeUpdate
 
Methods inherited from class javax.swing.text.AbstractDocument
addDocumentListener, addUndoableEditListener, createBranchElement, createLeafElement, createPosition, dump, fireChangedUpdate, fireInsertUpdate, fireRemoveUpdate, fireUndoableEditUpdate, getAsynchronousLoadPriority, getAttributeContext, getBidiRootElement, getContent, getCurrentWriter, getDocumentFilter, getDocumentListeners, getDocumentProperties, getEndPosition, getLength, getListeners, getProperty, getRootElements, getStartPosition, getText, getText, getUndoableEditListeners, postRemoveUpdate, putProperty, readLock, readUnlock, remove, removeDocumentListener, removeUndoableEditListener, render, replace, setAsynchronousLoadPriority, setDocumentFilter, setDocumentProperties, writeLock, writeUnlock
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HexDocument

public HexDocument(byte[] buffer)
Method Detail

getBytes

public byte[] getBytes()

insertString

public void insertString(int offset,
                         java.lang.String str,
                         javax.swing.text.AttributeSet attr)
                  throws javax.swing.text.BadLocationException
Handles the insertion of characters into the document, disallowing anything other than hex digits. This will work for text entered from the keyboard, as well as pasted from the clipboard.

Specified by:
insertString in interface javax.swing.text.Document
Overrides:
insertString in class javax.swing.text.PlainDocument
Parameters:
offset - int describing the caret location
str - String that is being inserted
attr - AttributeSet
Throws:
javax.swing.text.BadLocationException


Copyright 2006 Dream Programs Inc.. All Rights Reserved.