2011-12-26 25 views
5

Tôi là người mới bắt đầu trong Java và NetBeans. Tôi đang cố gắng để làm cho một chương trình đơn giản, nơi bạn giới thiệu 2 con số và tổng của họ được chia cho hai. Tuy nhiên, tôi đang sử dụng JFormattedTExtField giây và tôi không biết cách tùy chỉnh đầu vào được phép trong chúng. Về cơ bản, tôi đang cố gắng tìm hiểu cách:Làm thế nào để đặt jFormattedTextField vì vậy nó chỉ cho phép 2 số?

  • Chỉ cho phép nhập số vào JFormmatedTextField;
  • Chỉ cho phép một số lượng nhất định các số;
+1

có thể bạn cũng đã xem JSpinner, – mKorbel

Trả lời

9

Bạn có thể sử dụng NumberFormat và chỉ định số chữ số nguyên tối đa với setMaximumIntegerDigits.

Đây là số đẹp article.

Về cơ bản bạn có thể làm một cái gì đó như:

NumberFormat f = NumberFormat.getNumberInstance(); 
f.setMaximumIntegerDigits(maxDigitsAmount); 
JFormattedTextField field = new JFormattedTextField(f); 

Các Format nên đảm bảo rằng các chèn chuỗi đáp ứng định dạng. Dù sao, ngay cả khi một số được cung cấp, trường văn bản sẽ lưu nó dưới dạng Chuỗi. Vì vậy, nếu bạn cần Số nguyên ban đầu, bạn cần phải tạo lại nó như đề xuất @noise:

Integer i = Integer.toString(field.getText()); 
+0

Cảm ơn! Oh và một điều khác. Nếu bất cứ ai có thể cho tôi biết làm thế nào để thiết lập các văn bản của một textfield đến một int? Ví dụ, tôi có 2 ints (Các giá trị được nhập trong 2 hộp văn bản) và một int rezult, bằng tổng của 2 int. Nếu tôi gọi jTextField1.setText (rezult), nó sẽ yêu cầu chuỗi thay vì int. Bất kỳ giúp đỡ? – Bugster

+1

sử dụng 'Integer.toString (int)' –

+0

Cảm ơn nhiều người. Tôi gần như đã sửa nó, trừ khi tôi gọi trường JFormattedTextField = new JFormattedTextField (f); nó cho tôi một lỗi "Không thể tìm thấy biểu tượng JFormattedTextField". Bất kỳ ý tưởng? – Bugster

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