Utilizzo di JFormattedTextField

JFormattedTextField txtNumero = new JFormattedTextField();
txtNumero.setFormatterFactory(new DefaultFormatterFactory(new NumberFormatter(new DecimalFormat("#0.###", new DecimalFormatSymbols(Locale.US)))));
[...]
double numero = Double.parseDouble(txtNumero.getText());

È necessario impostare esplicitamente come separatore decimale quello inglese “.”, perché in assenza di Locale.US l’impostazione del formato numerico #0.### forzerebbe la casella di testo ad utilizzare il separatore decimale italiano “,” prelevandolo dalle impostazioni internazionali del sistema operativo del PC su cui si lavora.
Gli eventuali successivi metodi di conversione da stringa a numero come parseInt, parseFloat, parseDouble fornirebbero un errore di conversione, perché utilizzano sempre il “.” come separatore decimale.

In NetBeans selezionare la casella di testo txtNumero e cliccare sulla proprietà formatterFactory, quindi scegliere Custom Code al posto di Format Editor ed inserire:

new DefaultFormatterFactory(new NumberFormatter(new DecimalFormat("#0.###", new DecimalFormatSymbols(Locale.US))))