Qwark Skrevet 31. august 2005 Del Skrevet 31. august 2005 (endret) Har programmert et lite program som ved hjelp av JOptionPane.showInputDialog får tilført en tallverdi, er det mulig å hindre at bruker skriver inn noe annet en tall(Sperre for bruk av noe annet enn nummertaster)? Slik at man ikke trenger å ha en løkke som gir tilbakemeldig til bruker at han/hun har tastet inn ugyldige tegn. Endret 31. august 2005 av Qwark Lenke til kommentar
krister461 Skrevet 31. august 2005 Del Skrevet 31. august 2005 Tror ikke det er mulig uten å lage din egen versjon av JOptionPane... ...lag en klasse som arver fra JOptionPane og prøve å implementer en egen showInputDialog. Vet ikke om dette vil gå riktignok! Lenke til kommentar
Iyon Skrevet 2. september 2005 Del Skrevet 2. september 2005 Dersom du kunne tenke deg å leke litt med swing og guikomponenter, kan du Lage en liten ramme med en JTextField instans. Denne kaller du setDocument(...) på. Som argument i dette kallet sender du en instans av AbstractDocument. Dette er fordi alle tekstfelt har et Document-objekt som tar vare på selve teksten som skal vises fram i guiet. La oss si at denne instansen har fått navnet mittAbstrakteDokument. Så må du implementere din egen versjon av klassen DocumentFilter, du lager en klasse som arver DocumentFilter, altså f.eks. public class MittDokFilter extends DocumentFilter Du må implementere de to metodene insertString og replace. Konsuler API'et for hva metodene skal gjøre. Da bare bygger du inn en sjekk på hver karakter i den strengen som skal settes inn, hvor du kontrollerer om det er lovlige karakterer. Hvis variabelen kar inneholder en verdi av typen char (en enkelt bokstav/tegn), ser det slik ut if (Character.isLetter(kar)) osv... En instans av MittDokFilter settes som mittAbstrakteDokument sitt filter ved at metoden setDocumentFilter() kalles på mittAbstrakteDokument med den nevnte instansen av MittDokFilter som argument. Dette skulle være alt Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå