مترجم:حبیب الله علیخانی
منبع:راسخون
منبع:راسخون
طراحی کامپوننت
گاهی از اوقات ما از یک چیدمان کامپوننت ها زیاد استفاده می کنیم. برای اینکه از یک طراحی تکراری بپرهیزیم، کامپوننت سفارشی تعریف می کنیم تا همیشه یک دسته کامپوننت آماده داشته باشیم تا در وقت صرفه جویی کنیم. با این کار یک شی می سازیم که در پنجره ی palette یک گروه می سازد مانند گروه Swing containers و یا Swing controls.یک پروژه ی Swing از Java Class Library می سازیم و آن را به پنجره ی palette ، add می کنیم.
فرض کنید از یک Textfield به همراه Label زیاد استفاده می کنیم. می خواهیم این دو را با هم به صورت کامپوننت سفارشی در آوریم.
ابتدا یک پروژه ایجاد می کنیم اما این بار یک Java Application ایجاد نمی کنیم، و Java Class Library به نام Label.Textfield.Lib ایجاد می کنیم:
ابتدا در این پروژه یک پکیج به نام Label.Textfield ایجاد می کنیم. در این پکیج بجای ایجاد یک کلاس Form JFrame ، یک کلاس JPanel Form می سازیم:
این کلاس چون تابع Main ندارد، در نتیجه خروجی(output) هم ندارد و صرفا یک شی است و فضایی را اشغال کرده است. بعد از این، اشیا مورد نظرمان را در آن می چینیم:
Tools> palette> Swing/AWT Components
در گذشته مبحث کپسوله سازی(encapsulating) را بررسی کردیم که با آن برای کلاس های جاوا در قالب get وset ، Property می نوشتیم.
به عنوان مثال می خواهیم برای textfield یک property ای به نام Mytext بسازیم تا هر جا که از آن استفاده می کنیم بتوانیم نام آنها را تغییر دهیم.
کد های زیر را اضافه می کنیم:
کد های زیر را اضافه می کنیم:
یک property به نام Mytext و Mylabel در پنجره ی Properties هم اضافه می شود.
استفاده از مطالب این مقاله با ذکر منبع راسخون بلامانع می باشد.
/ج