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
DDDasal
2024-12-14 21:08:11355semak imbas

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);
     }
  }
});

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!

Kenyataan:
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