Domanda

Un JSpinner viene utilizzato per memorizzare un numero nella mia richiesta (con uno SpinnerNumberModel).

Come previsto, il filatore non consente caratteri non validi (lettere, simboli, ecc) per essere memorizzati. Tuttavia, quei personaggi appaiono nel componente filatore quando li digito. Appena posso passare l'attenzione ad un altro componente, scompaiono.

C'è un modo per evitare che i caratteri non validi di apparire nel filatore?

È stato utile?

Soluzione

È possibile aggiungere un DocumentFilter per l'editor del filatore per evitare carattere indesiderato vengano aggiunti al documento. Si ottiene l'editor utilizzando il codice come:

JTextField editor = ((JSpinner.DefaultEditor)spinner.getEditor()).getTextField();

Leggere la sezione dal tutorial Swing on Implementazione un documento di filtro per ulteriori informazioni.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top