/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
Max. på JTextField!
Fra : Morten Rasmussen


Dato : 07-11-01 16:28

Hvordan angiver man en maske til JTextField?

Jeg troede at:
JTextField jf = new JTextField(5)

... kun gjorde det muligt at skrive 5 tegn! men jeg kan skrive uendelig
mange.

Tak hvis nogle kan hjælpe.

Mvh. Morten



 
 
Lars Dam (08-11-2001)
Kommentar
Fra : Lars Dam


Dato : 08-11-01 09:17

On Wed, 7 Nov 2001 16:28:19 +0100, "Morten Rasmussen"
<mrasmuss@forum.dk> wrote:

>Hvordan angiver man en maske til JTextField?
>
>Jeg troede at:
>JTextField jf = new JTextField(5)
>
>.. kun gjorde det muligt at skrive 5 tegn! men jeg kan skrive uendelig
>mange.

Du ville blive meget klogere hvis du læste dokumentationen

Den nemmeste/korrekte måde er at lave en Document type som kan
begrænse længde af det dokument du indtaster. Jeg har selv sakset
nedenstående fra en anden java ng:

/**
*
*/
public class LimitLengthDocument extends
javax.swing.text.PlainDocument
{
private int maxLength;
public LimitLengthDocument(int maxLength){
this.maxLength = maxLength;
}
public void insertString
(int offset, String str,javax.swing.text.AttributeSet a)
throws javax.swing.text.BadLocationException{
if( str!=null ){
if( getLength() + str.length() > maxLength){
java.awt.Toolkit.getDefaultToolkit().beep();
}else{
super.insertString(offset, str, a);
}
}
}
}

Du skal så blot gøre flg:

jtextfield.setDocument( new LimitLengtDocument(5) );

>Tak hvis nogle kan hjælpe.
>
>Mvh. Morten
>

vh. ld

Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408527
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste