Rumah > Java > javaTutorial > Bagaimanakah Saya Boleh Dapatkan Pengesahan Input Segera dalam Medan Teks Tanpa Menekan Enter?

Bagaimanakah Saya Boleh Dapatkan Pengesahan Input Segera dalam Medan Teks Tanpa Menekan Enter?

DDD
Lepaskan: 2024-12-14 21:08:11
asal
347 orang telah melayarinya

How Can I Get Immediate Input Validation in a Text Field Without Pressing Enter?

Mendapatkan Pengesahan Input Segera dengan Pendengar Perubahan Nilai Medan Teks

Untuk maklum balas segera tentang input pengguna, adalah penting untuk kotak mesej dipaparkan sebagai sebaik sahaja pengguna mengubah suai teks dalam medan teks. Walau bagaimanapun, berdepan dengan isu hanya mencetuskan kotak mesej selepas menekan kekunci Enter, mari kita teliti kod dan cari penyelesaian.

Kod menggunakan ActionListener pada medan teks, yang digunakan apabila sebarang tindakan berlaku di medan, termasuk menekan Enter. Tingkah laku ini menerangkan sebab kotak mesej muncul selepas menggunakan kekunci Enter. Untuk menangani perkara ini, kami memerlukan respons yang lebih segera kepada perubahan dalam nilai medan teks.

Penyelesaian terletak pada menambahkan pendengar kepada Dokumen asas medan teks. Dokumen, yang dibuat secara automatik untuk setiap medan teks, mewakili kandungan teks. Dengan memantau perubahan dalam Dokumen, kami boleh membalas sebarang perubahan dalam teks, tanpa mengira kaedah input pengguna.

Berikut ialah coretan kod yang dikemas kini:

textField.getDocument().addDocumentListener(new DocumentListener() {
  public void changedUpdate(DocumentEvent e) {
    warn();
  }
  public void removeUpdate(DocumentEvent e) {
    warn();
  }
  public void insertUpdate(DocumentEvent e) {
    warn();
  }

  public void warn() {
     if (Integer.parseInt(textField.getText())<=0){
       JOptionPane.showMessageDialog(null,
          "Error: Please enter number bigger than 0", "Error Message",
          JOptionPane.ERROR_MESSAGE);
     }
  }
});
Salin selepas log masuk

Kod yang diubah suai ini menambah DocumentListener kepada medan teks, yang bertindak balas kepada perubahan pada peringkat Dokumen. Tiga kaedah Kemas Kini berbeza (diubah, alih keluar, sisip) digunakan berdasarkan jenis pengubahsuaian yang dibuat pada teks, dengan berkesan membenarkan pengesahan segera input pengguna.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Dapatkan Pengesahan Input Segera dalam Medan Teks Tanpa Menekan Enter?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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