ورود

View Full Version : سوال: commandlistener و itemstatelistener به طور همزمان



rashid1368
دوشنبه 02 شهریور 1388, 15:48 عصر
با سلام خدمت بروبچ عزيز
اين اولين سوال من در اين تاپيك هست و از شما دوستان مي خوام كمك كنين
من ميخوام بدونم چجور مي شه همزمان هم از command listener و هم از itemstatelistener در يه فرم استفاده كرد
اگه اشتباه نكنم commandlistener ‌ براي اينه كه به فرم بگيم دكمه هاي فشرده شده رو حواست باشه و اون دومي هم ميگه كه حواست به تغيير كنترل هاي روي فرم باشه
حالا مي خواستم بدونم چجوري مي شه هر دوتاي اينا رو با هم در يه فرم استفاده كرد
ممنون مي شم اگه كسي يه پروژه براي مثال برام بذازه

rashid1368
سه شنبه 03 شهریور 1388, 16:16 عصر
سلام
تا اونجایی که می‌دونم دو Listener زیر به ترتیب برای مدیریت کلیدهای فشرده شده و کنترل‌های موجود در فرم به کار می‌رود:

1. ActionListener
2. FocusListener

اما اگر بخواهید از دو Listener بطور همزمان استفاده نمایید باید آنها را با کمک دستور implements به صورت زیر به برنامه‌تان اضافه نمایید:


public class test implements ActionListener, FocusListener

موفق و سربلند باشید.

ممنون
ولي من وقتي به اين طريق دو تا listener رو مي نويسم
ارور مي ده كه شما بايد كلاس اين listener رو override كنيد
لطفا راهنمايي كنين
ممنون ميشم

rashid1368
سه شنبه 03 شهریور 1388, 16:16 عصر
سلام
تا اونجایی که می‌دونم دو Listener زیر به ترتیب برای مدیریت کلیدهای فشرده شده و کنترل‌های موجود در فرم به کار می‌رود:

1. ActionListener
2. FocusListener

اما اگر بخواهید از دو Listener بطور همزمان استفاده نمایید باید آنها را با کمک دستور implements به صورت زیر به برنامه‌تان اضافه نمایید:


public class test implements ActionListener, FocusListener

موفق و سربلند باشید.

ممنون
ولي من وقتي به اين طريق دو تا listener رو مي نويسم
ارور مي ده كه شما بايد كلاس اين listener رو override كنيد
لطفا راهنمايي كنين

mic_r_c
سه شنبه 03 شهریور 1388, 16:46 عصر
سلام،

اسم این جور listener ها interface هست. حالا اینترفیس ها دارای توابعی هستند که باید override یا دوباره نویسی شوند.

در اینترفیس commandListener یک تابع به نام commandAction است اون رو بنویس، و بعد براش کدنویسی کن تا هروقت که یک دکمه نرم روی موبایل فشار داده شد این تابع، با کدی که شما نوشتی اجرا بشه.

مثال:

public void commandAction(Command c,Displayable d)
{
//your codes here
}


حالا اگر نمیدونی که هر کدوم از این اینترفیس ها چه توابعی دارن، راحت ترین کار در نت بینز اینه که روی خط قرمر error واستی تا بهت بگه چه تابعی با چه پارامترهایی رو باید دوباره نویسی کنی.
در ضمن ممکنه بعضی از اینترفیس ها بیش از یک تابع داشته باشند، که تا زمانی که همه رو بازنویسی نکنی همین طوری error میده و باز باید روی خط قرمز واستی و ببینی چه تابعی با چه پارامتر هایی رو باید تعریف کنی