View Full Version : وارد کردن مقادیر مشخص برای Jtextfieldها
F.zeinali
دوشنبه 09 بهمن 1391, 11:20 صبح
سلام دوستان
من تویه فرم برنامم چتدتا JTextField دارم که می خوام برای مثال در تکس سن کاربر فقط بتونه عدد وارد کنه و وقتی خواست حرف وارد کنه درخواستش رد بشه؟
چطور می تونم این کارو بکنم؟
dracula_killer
دوشنبه 09 بهمن 1391, 12:10 عصر
من یه راه بلدم
بیا یهevent keypressed بنویس و بعد بگو اگه کلیدی که وارد شد جز اعداد ۰-۹ نبود ارور بده یا هر کاری که دوست داری بکنه...
اگه نتونستی بگو تا کدش رو برات همینجا بنویسم
F.zeinali
دوشنبه 09 بهمن 1391, 12:26 عصر
من یه راه بلدم
بیا یهevent keypressed بنویس و بعد بگو اگه کلیدی که وارد شد جز اعداد ۰-۹ نبود ارور بده یا هر کاری که دوست داری بکنه...
اگه نتونستی بگو تا کدش رو برات همینجا بنویسم
اگه میشه کدشو بنویسد.
ممنون
dracula_killer
دوشنبه 09 بهمن 1391, 13:25 عصر
اول از همه بهت بگم که من با JFrame نت بینز فرم نمی سازم چون به عقیده ی من یه مقداری دست و پا گیره.واسه همین کد هایی رو که الان می نویستم با همین فرض نوشتم:
public class MyKey implements KeyListener
{
@Override
public void keyTyped(KeyEvent evt) {
}
@Override
public void keyPressed(KeyEvent evt) {
}
@Override
public void keyReleased(KeyEvent evt) {
}
}
حالا تو متد keyPressed با یه سوییچ کیس جلوی وارد کردن حرف رو بگیر.
بعد بیا به این JTextField هم این رو اضافه کن:
JTextField.addKeyListener(MyKey);
یادت باشه بجای MyKey یه کلاس ازش نیو کنی و اسمش رو بنویسی
و بجای JTextField هم اسمش رو بنویس
spiderman200700
دوشنبه 09 بهمن 1391, 19:29 عصر
بهترش اینه که ازJFormattedTextField استفاده کنی.
اینم یه نمونه کد ، که با این کد TextField رو به 4 رقم عدد محدود میکنیم :
JFormattedTextField numberTextField = new JFormattedTextField(new MaskFormatter("#####"));
میتونی به جزMaskFormatter ازFormatter های دیگه ای هم استفاده کنی. مثل DateFormatter یا NumberFormatter
موفق باشی
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.