2012-05-17 17 views
5

Tôi đã tải xuống và cài đặt Plugin NetBeans "Xác thực đơn giản", nhưng không biết cách sử dụng, bởi vì tôi không thể tìm thấy nó ở đâu (trong hộp công cụ).

Bất kỳ ai cũng có thể giúp tôi bằng cách cho biết tôi có thể tìm thấy nó ở đâu và các bước để áp dụng xác thực trên các trường biểu mẫu của tôi.

Tôi cũng thấy có tệp JAR API xác thực và tôi đã tải xuống và đưa nó vào dự án của mình. Nó cung cấp 3 điều khiển (hoặc bất cứ điều gì tôi nên nói); "ValidationPanel", "ValidationUtils" và "Problems". Tôi đã xem ví dụ tại trang web & theo dõi nó. Tôi kéo-và-thả các "ValidationPanel" và viết mã như trong đoạn mã sauCách sử dụng "API xác nhận đơn giản" để xác nhận các dạng Java Swing trong Netbeans

final ValidationGroup group = validationPanel1.getValidationGroup(); 

group.add(txtUserName, Validators.REQUIRE_NON_EMPTY_STRING, 
Validators.NO_WHITESPACE, 
Validators.REQUIRE_VALID_INTEGER); 

Nhưng có vẻ như tập tin JAR chứa các tập tin không đầy đủ hoặc có thể có vấn đề khác, bởi vì nó mang lại cho lỗi: không thể tìm thấy biểu tượng: biến "Validators"

Tôi xin lỗi tôi nghĩ rằng đây là 2 câu hỏi, nhưng vui lòng giúp tôi làm thế nào để giải quyết nó.
Cảm ơn trước

+3

Tại sao phải quan tâm đến một API bên ngoài, khi bạn có thể sử dụng nó bên trong Java, hãy xem [Xác thực trên các trường sử dụng JLayer] (http://docs.oracle.com/javase/tutorial/uiswing/misc/jlayer.html # validation) –

+0

Tại sao bạn phải tự mình làm tất cả công việc khi bạn có API mạnh mẽ, đẹp mắt và dễ triển khai? – Milox

Trả lời

0

Bạn có import gói yêu cầu không?

+0

Có. Khi tôi viết mã trong NetBeans nó đã cho lỗi tương tự cho "ValidationGroup" lớp và khi tôi nhấp vào một quả bóng ở phía bên trái của IDE nó đề nghị tôi nhập khẩu các gói cho nó và khi tôi nhấp vào nó, nó nhập khẩu apckage, nhưng nó không đề nghị tôi nhập gói cho "Validators" – swdeveloper

+0

@swdeveloper Bạn có chắc chắn có cả một lớp được gọi là 'Validators'? Tôi nhìn vào thư viện nhưng không nhìn thấy. – Tharwen

+0

@ Tharwen đó là vấn đề thực tế. Ví dụ mã tôi đã tải xuống (và được hiển thị ở trên) sử dụng nó (ví dụ: Validators) là một lớp và dường như có một số hằng số cho biết loại xác thực nào sẽ được áp dụng trên trường đó, nhưng NetBeans không đề xuất bất kỳ nhập nào cho điều đó. Vì vậy, tôi cũng bối rối rằng nếu nó là một lớp học? – swdeveloper

1

Bạn chỉ muốn "ValidationPanel".

Dường như nó được gọi là "org.netbeans.validation.api.builtin.stringvalidation.StringValidators" ngay bây giờ.

final ValidationGroup group = validationPanel1.getValidationGroup(); 

group.add(txtUserName, StringValidators.REQUIRE_NON_EMPTY_STRING, 
StringValidators.NO_WHITESPACE, 
StringValidators.REQUIRE_VALID_INTEGER); 
1

Điều bạn đang làm với những dòng này là tạo nhóm xác thực và thêm trường có 3 quy tắc xác thực nhưng bạn vẫn cần cách hiển thị trên màn hình.

Simple validation API cung cấp 2 được xây dựng trong những người giúp đỡ UI mà tôi biết, bạn có thể sử dụng org.netbeans.validation.api.ui.swing.ValidationPanel hoặc org.netbeans.validation.api.ui.swing.SwingValidationGroup.createProblemLabel(), nếu không bạn sẽ phải thực hiện phụ tùng UI của riêng bạn với giao diện org.netbeans.validation.api.ui.ValidationUI.

  • ValidationPanel tạo ra một JPanel để giữ kiểm soát đầu vào của bạn cộng với nút OK và Cancel cộng với nhãn để hiển thị các thông báo lỗi.

  • Mặt khác bạn có ProblemLabel đó là việc thực hiện dễ dàng và đối với tôi nó hoạt động trong những trường hợp phổ biến nhất, đây là một ví dụ nhỏ:

    SwingValidationGroup group = SwingValidationGroup.create();; 
    
        group.add(txtUserName, Validators.REQUIRE_NON_EMPTY_STRING, 
        Validators.NO_WHITESPACE, 
        Validators.REQUIRE_VALID_INTEGER); 
    
        JComponent validationLabel = group.createProblemLabel(); 
        contentPanel.add(validationLabel); 
    

Bằng cách đó bạn có validationLabel rằng bạn có thể thêm vào bất kỳ vùng chứa nào khác như số JPanel hoặc vào biểu mẫu, trong trường hợp này, tôi có bảng điều khiển có tên là contentPanel mà tôi đính kèm nhãn sự cố.

Hy vọng điều này sẽ làm rõ một chút vì đây là một API tuyệt vời có tài liệu kém.

Các vấn đề liên quan