Rumah > Java > teks badan

Tetapkan format perpuluhan langsung kepada JOptionPane.showInputDialog

WBOY
Lepaskan: 2024-02-13 18:00:11
ke hadapan
661 orang telah melayarinya

Editor PHP Xiaoxin akan memperkenalkan kepada anda cara menetapkan format perpuluhan masa nyata kepada JOptionPane.showInputDialog. Ciri ini membolehkan pengguna memasukkan nombor perpuluhan langsung dan memformatkannya ke dalam format yang dikehendaki. Dengan cara ini, pengguna boleh memasukkan dan memproses nilai perpuluhan dengan mudah, yang meningkatkan pengalaman pengguna dan kecekapan pemprosesan data. Mari kita lihat langkah-langkah khusus di bawah.

Kandungan soalan

Saya ada jformattedtextfield ,它具有十进制格式,如果该值低于或等于 0,它会显示 showinputdialog untuk mengemas kininya.

Bagaimana untuk menyediakan pemformat perpuluhan "langsung" untuk 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));
}
Salin selepas log masuk

Saya tidak tahu nak buat apa.

Penyelesaian

numberformatter (atau maskformatter) mungkin yang anda cari.

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);
Salin selepas log masuk

Atas ialah kandungan terperinci Tetapkan format perpuluhan langsung kepada JOptionPane.showInputDialog. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:stackoverflow.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!