|
> > Hi All, > > > > The below given pgm is having errors while compilingdue to the > > folowing.Could anyone can help me out of this problem and make this pgm > > runsuccessful. > > > > 1. return "fieldTextCase" - fieldTextCase is not decalred inside the > > code and no such variable is present in JDK1.3 > > 2. undefined variable or class name : FormattedDocument. > > > > Pls. rectify this and send me across. > > > > Thanks and Regards, > > Vijay DY. > > > > > -------------------------------------------------------------------------- > > > -------------------------------------------------------------------------- > > -------------------- > > > > > -----Original Message----- > > > From: Geert Van Landeghem [SMTP:gvl@reynderseti.be] > > > Sent: Friday, May 26, 2000 12:43 AM > > > To: JAVA400-L@MIDRANGE.COM > > > Subject: Document types > > > > > > Hi, > > > > > > Has anyone used or written subclasses of the PlainDocument class? I'm > > > looking for Documenttypes > > > that allow only alphanumeric input with limited length, a valid date > and > > > numeric input (with specified length and decimals) > > > So I'm looking for a "TextDocument","DateDocument" and > "NumericDocument" > > > class. I would like to write these > > > classes myself but don't have the time... > > > > > > Hasn't IBM released some beans with this specific behaviour? > (comparable > > > to > > > DDS-field descriptions) > > > > > > Any help would be appreciated > > [>] > > > > Hello, > > > > Here is a simple class I whipped up as an example for > > "TextDocument". It allows you > > to set the maximum number of characters entered into a text field > > and it will automatically > > force lower or upper case it desired. The "NumericDocument" is > > similar and should be > > very simple. You may want to consider having a "IntegerDocument" > > and a "DecimalDocument". > > I have build a number of these for different projects. > > "IntegerDocument" is the simplest since validation is > > the easiest (just accept a series of numbers). > > > > With a "IntegerDocument" I usually have a maximum value and minimum > > value property instead of a "maximum characters property" since > > this provides more control and gets one away from thinking of set > > positions. > > > > Note: > > As with all entry validation in Swing avoid using keyevents. We had > > a number of contractors try this and its wrong! You always control > input > > via the > > Document. Remember keyevents don't work if one uses cut and paste > > or some non keyboard entry. Also, remember that in MVC architecture > > values > > are also coming from the model. > > > > Here is the code for a "TextDocument": > > > > -------------------------------------------------------------- > > > > import java.awt.Toolkit; > > import javax.swing.text.*; > > > > /** > > * @author Timothy Sullivan > > * @version 1.0 > > */ > > public class TextDocument extends PlainDocument > > { > > // Special constant that allows unlimited character entry. > > public static int UNLIMITED = -1; > > > > // Constants that control case. > > public final static int UPPER_OR_LOWER = 0; > > public final static int UPPER = 1; > > public final static int LOWER = 2; > > > > private int fieldMaxCharacters = UNLIMITED; > > > > /** > > * TextDocument constructor comment. > > */ > > public TextDocument() > > { > > super(); > > } > > > > /** > > * @author Timothy Sullivan > > */ > > public TextDocument(int maxCharacters) > > { > > this(); > > setMaxCharacters(maxCharacters); > > } > > > > /** > > * TextDocument constructor comment. > > * @param c javax.swing.text.AbstractDocument.Content > > * @author Timothy Sullivan > > */ > > protected TextDocument(AbstractDocument.Content c) > > { > > super(c); > > } > > > > > > /** > > * Gets the textCase property (int) value. > > * @return The textCase property value. > > * @see #setTextCase > > * @author Timothy Sullivan > > */ > > public int getTextCase() > > { > > return fieldTextCase; > > } > > > > /** > > * > > */ > > public void insertString(int offset, String s,AttributeSet > > attibuteSet) throws BadLocationException > > { > > if (s == null) > > return; > > try > > { > > if (getMaxCharacters() != FormattedDocument.UNLIMITED) > > { > > if ((getLength() + s.length()) > getMaxCharacters()) > > { > > formatError(); > > return; > > } > > } > > } > > catch (Exception ex) > > { > > formatError(); > > return; > > } > > > > switch (getTextCase()) > > { > > case UPPER : > > super.insertString(offset, s.toUpperCase(), attibuteSet); > > break; > > case LOWER : > > super.insertString(offset, s.toLowerCase(), attibuteSet); > > break; > > default : > > super.insertString(offset, s, attibuteSet); > > } > > } > > > > /** > > * Sets the textCase property (int) value. > > * @param textCase The new value for the property. > > * @see #getTextCase > > * @author Timothy Sullivan > > */ > > public void setTextCase(int textCase) > > { > > fieldTextCase = textCase; > > } > > /** > > * @author Timothy Sullivan > > */ > > protected void formatError() > > { > > //Toolkit.getDefaultToolkit().beep(); > > } > > /** > > * @author Timothy Sullivan > > */ > > public int getMaxCharacters() > > { > > return fieldMaxCharacters; > > } > > /** > > * @author Timothy Sullivan > > */ > > protected boolean isValidLength(String s) > > { > > if (getMaxCharacters() == FormattedDocument.UNLIMITED) > > return true; > > > > if (s.length() > getMaxCharacters()) > > return false; > > > > return true; > > } > > /** > > * @author Timothy Sullivan > > */ > > public void setMaxCharacters(int maxCharacters) > > { > > fieldMaxCharacters = maxCharacters; > > } > > } > > > > > > > +--- > > | This is the JAVA/400 Mailing List! > > | To submit a new message, send your mail to JAVA400-L@midrange.com. > > | To subscribe to this list send email to JAVA400-L-SUB@midrange.com. > > | To unsubscribe from this list send email to > > JAVA400-L-UNSUB@midrange.com. > > | Questions should be directed to the list owner: joe@zappie.net > > +--- > > > +--- > | This is the JAVA/400 Mailing List! > | To submit a new message, send your mail to JAVA400-L@midrange.com. > | To subscribe to this list send email to JAVA400-L-SUB@midrange.com. > | To unsubscribe from this list send email to > JAVA400-L-UNSUB@midrange.com. > | Questions should be directed to the list owner: joe@zappie.net > +--- > +--- | This is the JAVA/400 Mailing List! | To submit a new message, send your mail to JAVA400-L@midrange.com. | To subscribe to this list send email to JAVA400-L-SUB@midrange.com. | To unsubscribe from this list send email to JAVA400-L-UNSUB@midrange.com. | Questions should be directed to the list owner: joe@zappie.net +---
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.