حسام رسولیان
برنامه نویس موبایل

آموزش ارتباط کاتلین با جاوا و کتابخانه Swing به زبان ساده

کاتلین زبان برنامه نویسی جدیدی هست نسخه 1.0 آن از سال 2016 آغاز به کار کرد به همین علت ممکن است برای بعضی افراد هنوز ناشناخته باشه.کاتلین تعامل خیلی نزدیکی با جاوا دارد و از بستر JVM برای اجرای کد ها استفاده می کند به همین دلیل شما به راحتی میتونید داخل پروژه ها از هر دو زبان کاتلین و جاوا استفاده کنید.در این مطلب میخوایم با هم دیگه یک مثال ساده از نحوه استفاده این دو زبان در یک پروژه با هم را یاد بگیریم که از کتابخانه Swing برای طراحی رابط کاربری برنامه استفاده میکنیم.پروژه جدیدی ایجاد میکنیم برای این کار از منوی فایل گزینه New Prohect را انتخاب کرده و مثل تصویر بروی کاتلین کلیک می کنیم.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران
وب سایت توسینسو

خب پروژمون ساخته شد حالا روی پوشه src کلیک کرده و فایل جدیدی مبتنی بر کاتلین میسازیم من برای این فایل اسم Kot و انتخاب کردم.

وب سایت توسینسو

بعد از اینکه فایل مربوط به کاتلین و ساختیم نوبت به ایجاد صفحه گرافیکی برنامه میرسه برای این کار هم مجدد روی پوشه src کلیک کرده و اینبار گزینه GUI Form و انتخاب کنید برای فرمم از اسم myGUI استفاده میکنم.

وب سایت توسینسو

میبیند که داخل پروژه دو فایل جدید ایجاد شده که یکی برای کدهای جاواست با نام myGUI و فایل دیگه هم برای طراحی رابط کاربری با اسم myGUI.form.وارد صفحه فرم شوید و از منوی سمت راست به ترتیب TextField و یک Button انتخاب کنید و داخل فرم رها کنید.

وب سایت توسینسو

وارد کلاس مربوط به کدهای جاوا شوید میبیند که سه خط جدید به برنامه اضافه شده به این صورت.

    private JButton button1;
    private JPanel panel1;
    private JTextField textField1;

برای اینکه پروژه ما قابلیت اجرا داشته باشه نیاز به متد main داریم برای اضافه کردن دکمه های alt+insert و نگه داشته و گزینه اخر یعنی Form main و انتخاب کنید.

وب سایت توسینسو

با این کار تابع main به کلاس اضافه شده و کدهای مربوط به اتصال به صفحه گرافیکی هم نوشته میشود.

وب سایت توسینسو

حالا وارد فایل کاتلین به اسم Kot شوید در این قسمت هم باید تابع main برنامه و بنویسیم که به این شکل عمل میکنیم.

fun main(args:Array<String>)
{
}

حالا تمام کدهای قسمت main کلاس جاوا که مروبط به صفحه گرافیکی بود و داخل این متد کپی میکنیم.

وب سایت توسینسو

خود کاتلین یک سری تغییرات ایجاد میکنه مثل اضافه کردن کلمه کلیدی var , اما اگه توجه کنید میبیند که برنامه خطا داره برای رفع این مشکل داخل کلاس جاوا یک Getter برای پنل خودمون مینویسیم به این شکل.

 public JPanel getPanel1() {
        return panel1;
    }

میبینید که خطا رفع شد.داخل این پروژه قرار هست که کاربر متن دلخواهی وارد TextField کرده و با زدن دکمه همان اسم داخل کنسول برنامه چاپ شود.وارد فایل Kot میشیم و تابعی برای چاپ متن مینویسیم به اسم pritnword به این صورت:

وب سایت توسینسو

خب وارد فرم برنامه میشیم و روی دکمه راست کلیک میکنیم و Create Listener را انتخاب میکنیم و گزینه اول یعنی ActionListener و میزنیم وارد کلاس جاوا شده و میبینم که متد جدیدی به برنامه اضافه شده است داخل متد هر کدی که میخوایم بعد از کلیک شدن رو دکمه اتفاق بیفتد و میتونیم بنویسیم که قصد ما چاپ کردن متن وارد شده توسط کاربر هست.ابتدا متن داخل TextField که کاربر وارد کرده است داخل یک رشته ذخیره میکنیم.

                   String temp = textField1.getText();

سپس رشته وارد شده و به متدی که داخل فایل کاتلین برای چاپ کردن نوشته بودیم پاس میدیم.

                    KotKt.pritnword(temp);

Kot اسم فایل و kt هم پسوند فایل هست که بصورت یکجا مینویسیم KotKt و بعد از این به متدهای داخل این فایل دسترسی خواهیم داشت که ما از متد printword استفاده کردیم.شکل تکمیل شده کدهای کلاس جاوا برنامه.

وب سایت توسینسو

و در نهایت اجرای برنامه.

وب سایت توسینسو

حسام رسولیان
حسام رسولیان

برنامه نویس موبایل

کارشناسی فناوری اطلاعات برنامه نویس موبایل با زبان های جاوا, کاتلین, دارت(فلاتر) CCNA,LPIC

نظرات