L'éditeur PHP Xiaoxin vous présentera comment définir le format décimal en temps réel sur JOptionPane.showInputDialog. Cette fonctionnalité permet à l'utilisateur de saisir un nombre décimal en direct et de le formater au format souhaité. De cette manière, les utilisateurs peuvent facilement saisir et traiter des valeurs décimales, améliorant ainsi l'expérience utilisateur et l'efficacité du traitement des données. Jetons un coup d'œil aux étapes spécifiques ci-dessous.
J'ai un jformattedtextfield
,它具有十进制格式,如果该值低于或等于 0,它会显示 showinputdialog
pour le mettre à jour.
Comment configurer un formateur décimal « en direct » pour showinputdialog
?
// Format NumberFormat format = DecimalFormat.getInstance(); format.setMinimumFractionDigits(2); format.setMaximumFractionDigits(2); format.setRoundingMode(RoundingMode.HALF_UP); // Text field JFormattedTextField textField = new JFormattedTextField(); // Validation String regex = "[.,]"; String valueString = textField.getText().split(",")[0].replaceAll(regex, ""); int value = (int) Double.parseDouble(valueString); while(value <= 0) { value = Integer.valueOf(JOptionPane.showInputDialog(parentComponent, "The value must be greater than 0", "Warning", JOptionPane.WARNING_MESSAGE)); }
Je ne sais pas quoi faire.
numberformatter (ou maskformatter) pourrait être ce que vous recherchez. p>
NumberFormat format = DecimalFormat.getInstance(); format.setMinimumFractionDigits(2); format.setMaximumFractionDigits(2); format.setRoundingMode(RoundingMode.HALF_UP); NumberFormatter formatter = new NumberFormatter(format); //also check MaskFormatter formatter.setValueClass(Integer.class); formatter.setMinimum(0); formatter.setMaximum(Integer.MAX_VALUE); formatter.setAllowsInvalid(false); // value is be committed on each keystroke instead of focus lost formatter.setCommitsOnValidEdit(true); JFormattedTextField textField = new JFormattedTextField(formatter);
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!