Java -da GUI tarmog'ini qanday yaratish kerak (rasmlar bilan)

Mundarija:

Java -da GUI tarmog'ini qanday yaratish kerak (rasmlar bilan)
Java -da GUI tarmog'ini qanday yaratish kerak (rasmlar bilan)

Video: Java -da GUI tarmog'ini qanday yaratish kerak (rasmlar bilan)

Video: Java -da GUI tarmog'ini qanday yaratish kerak (rasmlar bilan)
Video: GIMP 2024, May
Anonim

Grid bu bosqichda alohida hech narsa qilmaydi, lekin ozgina tadqiqotlar yordamida siz oddiy tinglovchilarni va biroz mantiqni qo'shib, tic-tac-toe yoki Battleship kabi murakkab 2D o'yinini yaratishingiz mumkin.

Eslatma: Ushbu maqola Eclipse -ni barcha misollar uchun ishlatadi, shuning uchun hamma narsa sizning IDE -ga qarab farq qilishi mumkin. Bu sizga JCreator -da kerak bo'ladigan narsaga juda o'xshash bo'lishi kerak, lekin NetBeans kabi GUI -ga asoslangan IDE uchun foydasiz, lekin asosan NetBeans -ning tortish va tushirish usuli tufayli.

Qadamlar

Java -da GUI tarmog'ini yarating 1 -qadam
Java -da GUI tarmog'ini yarating 1 -qadam

Qadam 1. Java loyihasini yarating

Bu nisbatan oddiy. IDE -ni yoqing va yangi loyiha yarating. Siz xohlagan narsani chaqiring. Misol buttongrid bo'ladi.

Bu nomning ahamiyati yo'q, chunki u faqat fayl nomi beriladi

Java -da GUI tarmog'ini yarating 2 -qadam
Java -da GUI tarmog'ini yarating 2 -qadam

2 -qadam. Asosiy usul bilan Java sinfini yarating

Yangi sinf yarating va uni xohlaganingizcha nomlang. Misol buttongrid bo'ladi. Eclipse foydalanuvchisi uchun siz public static void main (string args) deb nomlangan katakchani belgilashni xohlaysiz, shuning uchun uni boshlaganingizda yozishingiz shart bo'lmaydi.

Bu ism avvalgisidan ko'ra muhimroq, chunki u bitta so'z bo'lishi kerak, aks holda uni ishlatib bo'lmaydi

Java -da GUI tarmog'ini yarating 3 -qadam
Java -da GUI tarmog'ini yarating 3 -qadam

Qadam 3. Import kutubxonalar

Bu sizning kodingizni ushbu kodga yozishingiz uchun kerak bo'lgan barcha ma'lumotlarni keltiradi. Siz javax.swing. JFrame, javax.swing. JButton va java.awt. Gridlayout -ni import qilishingiz kerak bo'ladi. Bular dars boshlanishidan oldin, 1 dan 3 gacha bo'lgan qatorlarga qo'yiladi, ularning tartibi muhim emas.

Java 4 -qadamda GUI tarmog'ini yarating
Java 4 -qadamda GUI tarmog'ini yarating

Qadam 4. Konstruktor yarating

Konstruktor butongrid sinfining yangi nusxasini yaratadi, bu esa har xil tugmachalarga alohida ma'lumotga ega bo'lishga imkon beradi. Barcha konstruktorlar o'z sinflari bilan bir xil nomlanishi kerak. Konstruktorlarga bundan oldin hech narsa kerak emas, lekin "ommaviy" ni tez -tez murojaat qilish uchun qo'yishadi. Konstruktorlar odatda sinfning birinchi usuli sifatida joylashtiriladi, shuning uchun u sinf nomidan keyin ketadi, lekin uni sinf ichida joylashtirish kerak. Buttongrid konstruktoriga parametrlar kerak bo'ladi, ular konstruktor nomidan keyin qavs ichida yoziladi. Bu misoldagi parametrlar 'x' va 'y' tamsayılardir.

Java 5 -qadamda GUI tarmog'ini yarating
Java 5 -qadamda GUI tarmog'ini yarating

Qadam 5. Frame yaratish:

  1. Ramka nomlanishi kerak. ButtonGrid konstruktor usulidan tashqarida unga havola qilish mumkinligiga ishonch hosil qilish uchun siz uni shu usuldan tashqariga qo'yasiz, lekin sinf ichida. Ko'pgina o'zgaruvchilar sinfning yuqori qismida konstruktordan oldin nomlanadi. Yangi ramka yaratish uchun siz yozasiz: JFrame frame = new JFrame ();
  2. Konstruktor usulida biz barcha tugmalar panjara joylashtirilganligiga ishonch hosil qilishimiz kerak. Buning uchun biz yozib ramka tartibini o'rnatamiz: frame.setLayout (yangi GridLayout (x, y));
  3. Majburiy emas, lekin o'ng burchakning yuqori burchagidagi "x" tugmachasini bosganingizda ramkani yopish uchun biz qatorni qo'shishimiz kerak: frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE);
  4. Hamma narsaga mos keladigan o'lchamdagi ramkani yaratish uchun biz buyruqni bajarishimiz kerak: frame.pack ();
  5. Nihoyat, ramka uchun biz uni ko'rinadigan qilib qo'yishimiz kerak: frame.setVisible (rost);

    Java 6 -qadamda GUI tarmog'ini yarating
    Java 6 -qadamda GUI tarmog'ini yarating

    Qadam 6. Tugmalar panjarasini yarating:

    1. Foydalanuvchi o'zaro ta'sir qiladigan tugmachalarni yasash kerak, lekin bizga qancha kerakligini bilmasligimiz uchun ularni birinchi navbatda nomlash kerak. Shunday qilib, siz ramka yaratadigan chiziq ostida tugmachalarni yarating: JButton grid; Ikkita kvadrat qavslar JButton-larning panjarasi ikki o'lchovli formatda saqlanganligini aytish mumkin, agar faqat bitta kvadrat qavs bo'lsa, u JButton-ning chizig'i bo'lib qoladi, u hali ham ishlaydi, bu shunchaki Qaysi tugma ikki o'lchovli bo'lsa, u bilan o'zaro bog'lanish haqida ma'lumot berish osonroq.
    2. JButton -ning nomi bor, lekin biz hali ham qancha tugma borligini aytishimiz kerak. Konstruktorga miqdorni belgilaydigan kod qatorini qo'shish kerak: grid = new JButton [width] [length];
    3. Endi ma'lum miqdordagi tugmalar bo'lishi aniqlandi, ularning har birini yaratish kerak. Buning eng oson yo'li ikkita halqa uchun, biri x o'qi uchun, biri y o'qi uchun. Ikkita halqa ichida biz yangi tugma yasaymiz va misol uchun qulaylik uchun har bir tugma ichiga matn qo'yiladi, shuning uchun biz ikki o'lchovli qatordagi qaysi tugma qaerda ekanligini bilamiz. Tugmachani yaratish uchun pastadir ichiga [x] [y] = new JButton ("("+x+","+y+")") panjarasini qo'yish kerak;

      Java 7 -qadamda GUI tarmog'ini yarating
      Java 7 -qadamda GUI tarmog'ini yarating

      Qadam 7. Kadrga tugmachalarni qo'shing

      Loop ichida tugmachalarni ramkaga oddiy buyruq bilan qo'yishimiz kerak: frame.add (grid [x] [y]);

      Java 8 -qadamda GUI tarmog'ini yarating
      Java 8 -qadamda GUI tarmog'ini yarating

      Qadam 8. ButtonGrid misolini yarating

      Sizning asosiy sinfingizda: yangi ButtonGrid (3, 3); Ikkala uchtasi 3 dan 3 gacha bo'lgan panjara bo'lib, har qanday ikkita ijobiy raqamni qo'yish mumkin.

      Java 9 -qadamda GUI tarmog'ini yarating
      Java 9 -qadamda GUI tarmog'ini yarating

      Qadam 9. Dasturni ishga tushiring

      Buni tutish uchun Ctrl+F11 tugmalar birikmasini bosing

      1 -usul 1: qadamlar kodi

      Asosiy sinf:

      umumiy sinf ButtonGrid {public static void main (String args) {}}

      Import:

      javax.swing. JFrame -ni import qilish; javax.swing. JButton -ni import qilish; java.awt. GridLayout -ni import qilish; ButtonGrid ommaviy klassi […]

      Konstruktor kodi:

      ButtonGrid umumiy klassi {umumiy ButtonGrid (int kengligi, int uzunligi) {}}…

      Ramka kodi:

      ButtonGrid umumiy klassi {JFrame frame = new Jframe (); public ButtonGrid (int width, int length) {frame.setLayout (yangi GridLayout (kenglik, uzunlik))); frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE); frame.pack (); frame.setVisible (rost); }}…

      Tarmoq tugmachasi kodi:

      | JFrame ramkasi = yangi JFrame (); // ramka yaratadi JButton panjarasi; // tugmalar tarmog'ini umumiy ButtonGrid (int width, int length) {// konstruktor 2 parametrli frame.setLayout (yangi GridLayout (kenglik, uzunlik))); // ramka panjarasining tartibini o'rnatish = yangi JButton [kenglik] [uzunlik]; // (int y = 0; y <uzunlik; y ++) {uchun (int x = 0; x <kenglik; x ++) {grid [x] [y] = yangi JButton ("("+) uchun panjara hajmini ajratish. x+","+y+")"); frame.add (grid [x] [y]); // tugmachani katakka qo'shadi}} frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE); frame.pack (); frame.setVisible (rost); }…

      Ramkaga tugmalar qo'shish:

      for (int y = 0; y <uzunlik; y ++) {uchun (int x = 0; x <kenglik; x ++) {grid [x] [y] = yangi JButton ("("+x+","+y+")) "); frame.add (grid [x] [y]); }}…

      Tugma panjarasi misolini yaratish:

      public static void main (String args) {new ButtonGrid (3, 3); // 2 parametrli yangi ButtonGrid qiladi}…

      Yakuniy kod:

      javax.swing. JFrame -ni import qilish; // import JFrame kutubxonasi import javax.swing. JButton; // import JButton kutubxonasi import java.awt. GridLayout; // GridLayout kutubxonasi ButtonGrid umumiy sinfini import qiladi {JFrame frame = new JFrame (); // ramka yaratadi JButton panjarasi; // tugmalar tarmog'ini umumiy ButtonGrid (int width, int length) nomini beradi {// constructor frame.setLayout (yangi GridLayout (kenglik, uzunlik))); // tartib panjarasini o'rnatish = yangi JButton [kenglik] [uzunlik]; // (int y = 0; y <uzunlik; y ++) {uchun (int x = 0; x <kenglik; x ++) {grid [x] [y] = yangi JButton ("("+) uchun panjara hajmini ajratish. x+","+y+")"); // yangi ramka tugmachasini yaratadi.add (grid [x] [y]); // tugmachani katakka qo'shadi}} frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE); frame.pack (); // ramka uchun mos o'lchamlarni o'rnatadi.setVisible (rost); // ramkani ko'rinadigan qiladi} public static void main (String args) {new ButtonGrid (3, 3); // 2 ButtonGridni 2 parametrli qiladi}}

      javax.swing. JFrame -ni import qilish; // import JFrame kutubxonasi import javax.swing. JButton; // import JButton kutubxonasi import java.awt. GridLayout; // GridLayout kutubxonasini import qiladi

      ButtonGrid umumiy sinf {

      JFrame ramkasi = yangi JFrame (); // ramka yaratadi JButton panjarasi; // tugmalar panjarasini nomlaydi

      public ButtonGrid (int width, int length) {// constructor frame.setLayout (yangi GridLayout (kenglik, uzunlik))); // tartib panjarasini o'rnatish = yangi JButton [kenglik] [uzunlik]; // (int y = 0; y <uzunlik; y ++) {uchun (int x = 0; x <kenglik; x ++) {grid [x] [y] = yangi JButton ("("+) uchun panjara hajmini ajratish. x+","+y+")"); // yangi ramka tugmachasini yaratadi.add (grid [x] [y]); // tugmachani katakka qo'shadi}} frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE); frame.pack (); // ramka uchun mos o'lchamlarni o'rnatadi.setVisible (rost); // ramkani ko'rinadigan qiladi} public static void main (String args) {new ButtonGrid (3, 3); // 2 parametrli yangi ButtonGrid qiladi}

Tavsiya: