کادر متنی دارای قالب یا JFormattedTextField در جاوا :
JFormattedTextField یک کلاس در بستهی javax.swing است که برای نمایش و ویرایش مقادیر با فرمت خاص در یک کادر متنی استفاده میشود. این کلاس از کلاس JTextField ارثبری میکند و امکاناتی را برای تعیین و نمایش قالبهای مشخص شده برای مقادیر فراهم میکند.
یک JFormattedTextField میتواند انواع مختلفی از قالبها را پشتیبانی کند، مانند اعداد، تاریخ، زمان و ارقام شناسه ملی. همچنین، میتوان قالبهای سفارشی نیز تعریف کرد. برای استفاده از قالبها، باید یک شیء از کلاس javax.swing.text.DefaultFormatterFactory بسازیم و قالبهای مورد نیاز را به آن اضافه کنیم. سپس این شیء را به JFormattedTextField اختصاص دهیم.
برای مثال، اگر میخواهیم یک کادر متنی بسازیم که تاریخ را با فرمت yyyy/MM/dd نمایش دهد، میتوانیم به شکل زیر عمل کنیم:
“`
SimpleDateFormat format = new SimpleDateFormat(“yyyy/MM/dd”);
DateFormatter dateFormatter = new DateFormatter(format);
JFormattedTextField textField = new JFormattedTextField();
textField.setFormatterFactory(new DefaultFormatterFactory(dateFormatter));
“`
در این مثال ابتدا یک شیء از کلاس SimpleDateFormat با فرمت مورد نظر ایجاد میکنیم. سپس از کلاس DateFormatter استفاده میکنیم تا این فرمت را به قالب مناسب برای JFormattedTextField تبدیل کند. در نهایت، با استفاده از setFormatterFactory، قالب را به کادر متنی اختصاص میدهیم.
از طریق JFormattedTextField میتوان مقادیر وارد شده توسط کاربر را نیز دریافت کرد. برای این کار، از متد getValue استفاده میکنیم که مقدار وارد شده را به صورت مناسب با قالب تعیین شده برمیگرداند.
به طور خلاصه، JFormattedTextField یک ابزار قدرتمند در جاوا است که به برنامهنویس امکان میدهد مقادیر ورودی را با فرمت خاصی نمایش داده و کنترل کند. این کلاس در برنامههایی که نیازمند ورود اطلاعات با فرمت خاص هستند، بسیار مفید است.