หน้าเว็บ

ການສ້າງສ່ວນຕໍ່ປະສານກຣາບຟິກກັບຜູ້ໃຊ້


ການ​ສ້າງ​ສ່ວນ​ຕໍ່​ປະສານ​ກຣາບຟິກກັບ​ຜູ້​ໃຊ້
ເນື້ອ​ຫາ​ໃນ​ບົດ​ນີ້​ເປັນ​ການ​ແນະນຳ​ການ​ຂຽນ​ໂປຣ​ແກ​ຣມຈາ​ວາ​ປະຍຸກ​ທີ່​ມີ​ສ່ວນ​ຕໍ່​ປະສານ​ກຣາບຟິກກັບ​ຜູ້​ໃຊ້ ​ໂດຍ​ຈະ​ເປັນ​ການ​ແນະນຳ​ຄາດ​ແລະ​ອິນ​ເຕີ​ເຟດທີ່​ສຳຄັນ​ໃນ​ແພັກ​ເກດ javax.swing ອະທິ​ບາຍ​ຄາດ​ປະ​ເພດ ​Containerແລະ​ຄາດ​ທີ່​ເປັນ​ສ່ວນ​ປະ​ກອບ​ກຣາບຟິກອື່ນໆ ​ແນະນຳ​ການຈັດ​ວາງ​ສ່ວນ​ປະກອບ​ກຣາຟິກ​ໂດຍ​ໃຊ້​ອອບ​​ເຈັກ​ປະ​ເພດ ​LayoutManager ແລະ​ອະທິບາຍ​ການ​ສ້າງ​ເມ​ນູ
5.1 Java Foundation Class
      ​ເນື້ອ​ຫາ​ທີ່​ຜ່ານ​ມາ​ເນັ້ນ​ການ​ພັດທະນາ​ໂປຣ​ແກຣມທີ່​ມີ​ສ່ວນ​ຕໍ່​ປະສານ​ຂໍ້ຄວາມ​ກັບ​ຜູ້​ໃຊ້ (tex-mode) ​ແຕ່​ລະບົບ​ປະຕິບັດ​ການ​ສ່ວນ​ໃຫຍ່​ຈະ​ມີ​ສ່ວນ​ຕໍ່​ປະສານ​ກຣາບຟິກກັບ​ຜູ້​ໃຊ້ (Graphic User Interface ​ເອີ້ນ​ວ່າ GUI) ທັງ​ນີ້​ເນື່ອງ​ຈາກ​ໃຊ້​ງານ​ງ່າຍ​ກວ່າ ດັ່ງ​ນັ້ນ​ການ​ພັດທະນາ​ໂປຣ​ແກຣມ​ໃນ​ປັດຈຸບັນ​ຄວນ​ທີ່ຈະມີ​ສ່ວນ​ຕໍ່ປະສານ​ກຣາບຟິກກັບ​ຜູ້​ໃຊ້​ເຊິ່ງ​ໂປຣ​ແກຣມລັກສະ​ນະ​ນີ້​ເອີ້ນ​ວ່າ​ໂປຣ​ແກຣມ GUI
      ການພັດທະນາ​ໂປຣ​ແກຣມ GUI ຜູ້​ພັດທະນາ​ໂປຣ​ແກຣມຕ້ອງ​ມີ​ຄວາມ​ເຂົ້າ​ໃຈ​ຊຸດ​ຄຳ​ສັ່ງ​ແລະ​ອົງ​ປະ​ກອບ​ທາງ​ດ້ານ​ກຣາບຟິກຂອງ​ລະບົບ​ປະຕິ​ບັດ​ການ​ທີ່​ຕ້ອງການ​ພັດທະນາ ພາສາ​ຄອມ​ພິວ​ເຕີ​ສ່ວນ​ໃຫຍ່​ຈະ​ໃຊ້​ຊຸດ​ຄຳ​ສັ່ງ​ສະ​ເພາະ​ໃນ​ແຕ່​ລະ​ລະບົບ​ປະຕິບັດ​ການ ດັ່ງ​ນັ້ນ​ຜູ້​ພັດທະນາ​ໂປຣ​ແກຣມຈະ​ຕ້ອງ​ຮຽນ​ຮູ້​ຊຸດ​ຄຳ​ສັ່ງ​​ໃນ​​ແຕ່​ລະ​ລະບົບ​ປະຕິບັດ​ການ​ແລະ​ໂປ​ຣ​ແກຣມ GUI ທີ່​ພັດທະນາ​ຂຶ້ນ​ມາ​ຈະ​ຂຶ້ນ​ຢູ່​ກັບ​ແຟດ​ຟອມ ​(Platform Dependent) ແຕ່​ພາສາ​ຈາ​ວາ​ຈະ​ສະໜັບສະໜູນ​ການ​ພັດທະນາ​ໂປຣ​ແກຣມ GUI ທີ່​ສາມາດ​ໃຊ້​ງານ​ໄດ້​ຫລາຍ​ແຟດຟອມ ​ໂດຍ​ຈະ​ໃຊ້​ຊຸດ​ຄຳ​ສັ່ງ​ດຽວ​ກັນ ​ເຊັ່ນ ​ເຮົາ​ສາມາດ​ທີ່​ຈະ​ນຳ​ໂປຣ​ແກ​ຣມ ທີ່​ພັດທະນາ​ບົນ​ລະບົບ​ປະຕິບັດ​ການ Linux ມາ​ໃຊ້​ບົນ​ລະບົບ​ປະຕິບັດ​ການ​ອື່ນໆ ທີ່​ມີ​ສ່ວນ​ຕໍ່​ປະສາ​ນກຣາບຟິກກັບ​ຜູ້​ໃຊ້​ໄດ້
      ຊຸດ​ຄຳ​ສັ່ງ​ຂອງ​ໂປຣ​ແກຣມພາສາ​ຈາ​ວາ​ທີ່​ໃຊ້​ໃນ​ການ​ພັດທະນາ​ໂປຣ​ແກຣມ GUI ຈະ​ຢູ່​ໃນ​ຊຸດ​ຂອງ​ແພັກ​ເກດ Foundation Class (JFC) ດັ່ງ​ສະ​ແດງ​ໃນ​ຮູບ​ທີ 5.1 ​ເຊິ່ງປະກອບ​ດ້ວຍ​ແພັກ​ເກດ​ຕ່າງໆ ດັ່ງ​ນີ້

ຮູບ​ທີ 5.1 ສ່ວນ​ປະກອບ​ທີ່​ສຳຄັນ​ຂອງ JFC

  • ​Window Toolkit (AWT) ເປັນ​ແພັກ​ເກດ​ທີ່​ໃຊ້​ໃນ​ການ​ພັດທະນາ​ໂປຣ​ແກຣມ ຂັ້ນ​ພື້ນຖານ ​ເຊິ່ງຈະ​​ໃຫ້​ໂປຣ​ແກຣມ ທີ່​GUI ເປັນ look and feel ທີ່​ຂຶ້ນ​ຢູ່ກັບ​​ແຟດຟອມ ພາສາ​ຈາ​ວາ​ໄດ້​ກຳນົດ​ແພັກ​ເກດ AWT ຂຶ້ນ​ມາ​ຕັ້ງ​ແຕ່​ເວີ​ຊັນ​ທຳ​ອິດ ​(JDK 1.0) ໂດຍ​ກຳນົດ​​ໄວ້​ໃນ​ແພັກ​ເກດ java.awt
  • Swing ​ເປັນ​ແພັກ​ເກດ​ທີ່​ມີ​ສ່ວນ​ປະກອບ​ກຣາບຟິກທີ່​ມີ​ຄຸນ​ລັກສະນະ​ແລະ​ຮູບ​ແບບ​ທີ່​ດີ​ວ່າ​ສ່ວນ​ປະກອບ​ກຣາບຟິກຂອງ​ແພັກ​ເກດ AWT ​ເຊິ່ງຈະ​ເໝາະກັບ​ການ​ພັດທະນາ​ໂປຣ​ແກຣມ GUI ທີ່​ນຳ​ໄປ​ໃຊ້​ງານ​ຈິງ ພາສາ​ຈາ​ວາ​ໄດ້​ກຳນົດ​ແພັກ​ເກດ Swing ຂຶ້ນ​​ໃນ​ຈາ​ວາ​ເວີ​ຊັນ ​2(Java2) ໂດ​ຍກຳນົດ​ໃນ​ແພັກ​ເກດ​ຊື່ ​javax.swing ໂດຍ​ທົ່ວ​ໄປ​ໂປຣ​ແກຣມທີ່​ໃຊ້​ຊຸດ​ຄຳ​ສັ່ງ​ໃນ​ແພັກ​ເກດ Swing ຈະ​ທຳ​ງາ​ຊ້າ​ກວ່າ​ໂປຣ​ແກຣມ GUI ທີ່​ໃຊ້​ແພັກ​ເກດ AWT ​ແຕ່​ຈະ​ມີ​ຮູບ​ແບບ​ທີ່​ສວຍ​ງາມ​ກວ່າ
  • Java 2D ​ເປັນ​ຊຸ​ຄຳ​ສັ່ງ​ກຣາບຟິກທີ່​ມີ​ຄາດ​ທີ່​ຊ່ວຍ​ໃນ​ການ​ພັດທະນາ​ໂປຣ​ແກຣມກຣາບ ຟິກສອງມິ​ຕິ​ແລະ​ຄາດ​ທີ່​ໃຊ້​ໃນ​ການ​ຈັດການ​ກັບ​ຮູບ​ພາບ
  • Accessibility ​ເປັນຊຸດ​ຄຳ​ສັ່ງ​ທີ່​ມີ​ຄາດ​​ໃນ​ການ​ພັດທະນາ​ໂປຣ​ແກຣມທີ່​ມີອິນ​ພຸດ​ຫລື​ເອົ້າ​ພຸດ​ໃນ​ລັກສະນະ​ພິ​ເສດ ​ເຊັ່ນ screen reader, screen magnifier ​ແລະ audio text reader
  • Drag and Drop ​ເປັນ​ຊຸດ​ຄຳ​ສັ່ງ​ຂອງ​ເຕັກ​ໂນ​ໂລ​ຊີ​ທີ່​ຊ່ວຍ​ໃນ​ການ​ແລກປ່ຽນ​ຂໍ້​ມູນ​ລະຫວ່າງ​ໂປຣ​ແກຣມທີ່​ພັດທະນາ​ໂດຍ​ພາສາ​ຈາ​ວາກັບ​ໂປຣ​ແກຣມພາສາ​ອື່ນໆ


5.1.1  ​ແພັ​ກ​ເກດ AWT
        ພາສາ​ຈາ​ວາ​ໃນ​ເວີ​ຊັນ​ທຳ​ອິດໆ ຈະ​ໃຊ້​ແພັກ​ເກດ AWT ​ໃນ​ການ​ພັດທະນາ​ໂປຣ​ແກຣມ ກ່ອນ​ທີ່​ຈະ​ພັດທະນາ ​ໂດຍ​ໃຊ້​​ແພັກ​ເກດ Swing ທັງ​ນີ້​ຄາດ​ແລະ​ອິນ​​ເຕີ​ແຟດຂອງ Swing ຫລາຍໆ ​ຕົວ​ສືບ​ທອດ​ມາ​ຈາກ​ຄາດ​ຂອງ​ແພັກ​ເກດ AWT ​ເນື້ອ​ຫາ​ໃນ​ບົດ​ນີ້​ຈະ​ແນະນຳ​ໃຫ້​ຮູ້​ຄາດ​ແລະ​ອິນ​ເຕີ​ແຟດຕ່າງໆ ທີ່​ສຳຄັນ​ໃນ​ແພັກ​ເກດ ​AWT ເຊິ່ງມີ​ດັ່ງ​ນີ້
  • Coponent ​ເປັນ​ຄາດ​ທີ່​ເປັນ superclass ຂອງ​ຄາດ​ປະ​ເພ​ດສ່ວນ​ປະກອບ​ກຣາບຟິກທຸກຄາດ​ໃນ​ແພັກ​ເກດ AWT
  • ​Container ເປັນ​ຄາດ​ທີ່​ໃຊ້​ໃນ​ການ​ໃສ່​ສ່ວນ​ປະກອບ​ກຣາບຟິກ
  • LayoutManager ​ເປັນ​ອິນ​ເຕີ​ແຟດທີ່​ໃຊ້​ໃນ​ການ​ຈັດ​ຕຳ​ແໜ່​ງ​ແລະ​ຂະໜາດ​ສ່ວນ​ປະ​ກອບ​ກຣາບຟິກ
·         ​​Graphics ເປັນ​ຄາດ​ແບບ abstract ທີ່​ໃຊ້​ໃນ​ການ​ແຕ້ມ​ຮູບ​ກຣາບຟິກ ​ເຊັ່ນ ​ແຕ້ມ​ເສັ້ນ ​ແຕ້ມ​ສີ່ຫລ່ຽມ ຫລື​ຂຽນ​ຂໍ້ຄວາມ​ ເປັນ​ຕົ້ນ
  • Color ​ເປັນ​ຄາດ​ທີ່​ໃຊ້​ໃນ​ການ​ຈັດການ​ສີ​ຂອງ​ສ່ວນ​ປະກອບ​ກຣາບຟິກ
  • ​Font ເປັນ​ຄາດ​ທີ່​ໃຊ້​ໃນ​ການ​ຈັດການ​ຟອນ​ຂອງ​ສ່ວນ​ປະກອບ​ກຣາບຟິກ
  • AWTEvent ​ເປັນ​ຄາດ​ທີ່​ກ່ຽວຂ້ອງ​ກັບ​ເຫດການ (Event) ທາງ​ກຣາບຟິກ

    ການ​ຂຽນ​ໂປຣ​ແກຣມ GUI ນັ້ນ​ຈະ​ເປັນ​ການ​ສ້າງ​ອອບ​ເຈັກ​ຕ່າງໆ ທີ່​ເປັນ​ອອບ​ເຈັກ​ຂອງ​ຄາດ​ທີ່​ເປັນ​ສ່ວນ​ປະກອບ​ກຣາບຟິກ ​ເຊິ່ງຄາດ​ເຫລົ່າ​ນີ້​ສືບ​ທອດ​ມາ​ຈາກ​ຄາດ​ທີ່​ຊື່ Component ດັ່ງ​ສະ​ແດງ​ໃນ​ຮູ​ບທີ 5.2 ​ເຊິ່ງຄາດ​ທີ່​ເປັນ subclass ຂອງ​ຄາດ Component ຈະ​ແບ່ງ​ເປັນ​ສອງ​ກຸ່ມ​ຄື
1.   ຄາດ​ທີ່​ເປັນຄາດ​ປະ​ເພດ Container ​ເປັນ​ຄາດ​ທີ່​ໃຊ້​ໃນ​ການ​ໃສ່​ສ່ວນ​ປະກອບ​ກຣາບຟິກຕ່າງໆ
2.   ຄາດ​ທີ່​ເປັນ​ສ່ວນ​ປະກອບ​ກຣາບຟິກອື່ນໆ ​ເຊັ່ນ Button, ​Choice ແລະ ​List ເປັນ​ຕົ້ນ



ຮູບ​ທີ 5.2 ຄາດ​ຕ່າງໆ ທີ່​ສືບ​ທອດ​ມາ​ຈາກ​ຄາດ​ທີ່​ຊື່ Component

5.1.2  ​ແພັກ​ເກດ Swing
        Swing ​ເປັນ​ແພັກ​ເກດ​ສຳ​ຫລັບ​ພັດທະນາ​ໂປຣ​ແກຣມ GUI ​ເຊິ່ງມີ​ສ່ວນ​ປະກອບ​ກຣາບຟິກຫລາຍທີ່​ຫລາຍ​ຊະນິດ​ກວ່າ​ທີ່​ມີ​ຢູ່​ໃນ​ແພັກ​ເກດ AWT ນອກຈາກ​ນີ້​ສ່ວນ​ປະກອບ​ກຣາບ ຟິກຂອງ​ແພັກ​ເກດ Swing ຈະ​ມີ​ລັກສະນະ​ທີ່ີກວ່າ​ສ່ວນ​ປະກອບ​ກຣາບຟິກຂອງ​ແພັກ​ເກດ AWT ສ່ວນປະກອບ​ກຣາບຟິກຂອງ​ແພັກ​ເກດ Swing ຈະ​ມີ​ລັກສະນະ​ທີ່​ດີກ​ວ່າ​ສ່ວນ​ປະກອບ​ກຣາບຟິກ ຂອງ​ແພັກ​ເກດ AWT ສ່ວນ​ປະກອບ​ຂອງ​ກຣາບຟິກຂອງ​ແພັກ​ເກດ Swing ສາມາດ​ກຳນົດ​ຮູບ​ແບບ​ຂອງ look and feel ທີ່​ທຳ​ໃຫ້​ໄດ້​ໂປຣ​ແກຣມ GUI ທີ່​ມີ​ຮູບ​ກຣາບຟິກຄື​ກັນ​ໃນ​ທຸກ​ແຟດຟອມ ​ເຊິ່ງຈະ​ແຕກ​ຕ່າງ​ກັບ​ແພັກ​ເກດ AWT ທີ່​ຈະ​ມີ​ຮູບ​ແບບ​ຂອງ​ກຣາບຟິກ​ ​ເຊິ່ງຂຶ້ນ​ຢູ່​ກັບ look and feel ຂອງ​ແຕ່​ລະ​ແຟດຟອມ ​ເຊິ່ງການ​ກຳນົດ look and feel ​ໄດ້​ເອງ​ນີ້​​ເຮັດ​ໃຫ້​ໂປຣ​ແກຣມ GUI ທີ່​​ໃຊ້​ອອບ​ເຈັກ​ຂອງ​ແພັກ​ເກດ Swing ສະ​ແດງ​ຜົນ​ໄດ້​ຊ້າ​ກວ່າ​ໂປຣ​ແກຣມ ​​GUI ທີ່​ໃຊ້​ອອບ​ເຈັກ​ຂອງ​​ແພັກ​ເກດ Swing ສະ​ແດງ​ຜົນ​ໄດ້​ຊ້າ​ກວ່າ​ໂປຣ​ແກຣມ GUI ທີ່​ໃຊ້​ອອບ​ເຈັກ​ຂອງ​ແພັກ​ເກດ AWT
    ​​ແພັກ​ເກດ Swing ປະກອບ​ດ້ວຍ​ຄາດ​ຕ່າງໆ ທີ່​ເປັນ​ປະ​ເພດ​ສ່ວນ​ປະກອບ​ກຣາບຟິກ (Graphical Component) ​ເພື່ອ​ນຳ​ໄປ​ໃຊ້​ໃນ​ການ​ພັດທະນາ​ໂປຣ​ແກຣມ GUI ​ແພັກ​ເກດ Swng ຈະ​ຊ່ວຍ​ໃນ​ການ​ສ້າງ​ໂປຣ​ແກຣມ GUI ​ປະ​ເພດ look and feel ​ໂດຍ​ຈະ​ບໍ່​ຂຶ້ນ​ຢູ່​ກັບ​ແຟດຟອມທີ່​ໃຊ້​ງານ ພາສາ​ຈາ​ວາ​ໄດ້​ກຳນົດ​​ແພັກ​ເກດ Swing ຢູ່​ໃນ​ແພັກ​ເກດ javax.swig ​ແພັກ​ເກດ Swig ຈະ​ປະກອບ​ໄປ​ດ້ວຍ​ຄາດ​ແລະ​ອິນ​ເຕີ​ແຟດຕ່າງໆ ​ເພື່ອ​ໃຊ້​​ໃນ​ການ​ພັດທະນາ​ໂປຣ​ແກຣມ GUI ​ໂດຍ​ຄາດ​ແລະ​ອິນ​ເຕີ​​ເພດ​ຕ່າງໆ ​ເຫລົ່າ​ນີ້​ຈະ​ມີ​ຄວາມ​ສຳພັນ​ດັ່ງ​ສະ​ແດງ​ໃນ​ຮູບ​ທີ 5.3

ຮູບ​ທີ 5.3 ຄາດ​ແລະ​ອິນ​ເຕີ​ເພດຕ່າງໆ ​ໃນ​ແພັກ​ເກດSwing

5.2  ຄາດ​ປະ​ເພດ Container
       ອອບ​ເຈັກ​ຂອງ​ຄາດ Container ຈະ​ໃຊ້​​ໃນ​ການ​ໃສ່​ອອບ​ເຈັກຂອງ​ສ່ວນ​ປ​ະກອບ​ກຣາບຟິກຫລາຍໆ ອອບ​ເຈັກ​ໄວ້​ເພື່ອ​ສະ​ແດງ​ຜົນ​ໂປຣ​ແກຣມ ຈະ​ຕ້ອງ​ມີ​ການ​ສ້າງ​ອອບ​ເຈັກ​ຂອງ​ຄາດ​ປະ​ເພດ Container ຢ່າງ​ນ້ອຍ​ໜຶ່ງ​ອອບ​ເຈັກ​ຂຶ້ນ​ມາ​ກ່ອນ ​ເພື່ອ​ໃຊ້​ໃນ​ການ​ໃສ່​ອອບ​ເຈັກຂອງ​ຄາດ​ທີ່​ເປັນ​ສ່ວນ​ປະກອບ​ກຣາບຟິກອື່ນໆ ຄາດ​ປະ​ເພດ​ ​Container ທີ່ຢູ​ໃນ​​ແພັກ​ເກດ AWT ມີ​ດັ່ງ​ນີ້
  • Frame
  • Panel
  • Dialog
  • Applet
​ໂດຍ​ຈະ​ມີ​ລຳດັບ​ຊັ້ນ​ຂອງ​ການ​ສືບ​ທອດ​ດັ່ງ​ສະ​ແດງ​ໃນ​ຮູບ​ທີ 5.2
ຄາດ​ປະ​ເພດ​ Container ​ເປັນ​ຄາດ​ທີ່​ສືບ​ທອດ​ມາ​ຈາກ​ຄາດ​ທີ່​ຊື່ Component ​ເຊິ່ງຈັດ​ເປັນ​
ສ່ວນ​ປະກອບ​ກຣາບຟິກຊະນິດ​ໜຶ່ງ ດັ່ງ​ນັ້ນ​ເຮົາ​ສາມາດ​ທີ່​ຈະ​ໃສ່​ອອບ​ເຈັກ​ປະ​ເພດ Container ບາງ​ຊະນິດ​ລົງ​ໃນ​ອອບ​ເຈັກ​ຂອງ​ຄາດ​ປະ​ເພດ ​Container ຕົວ​ອື່ນໆ ​ໄດ້​ເຊັ່ນ ​ໃສ່​ອອບ​ເຈັກ​ຂອງ​ຄາດ Panel ລົງ​ໃນ​ອອບ​ເຈັກ​ຂອງ​ຄາດ Frame ຄາດ​ທີ່​ຊື່ Container ​ເປັນ​ຄາດ​ແບບ abstract ​ເຊິ່ງ​ເຮົາ​ບໍ່​ສາມາດ​ທີ່​ຈະ​ສ້າງ​ອອບ​ເຈັກ​ຂອງ​ຄາດ​ດັ່ງ​ກ່າວ​ໄດ້ ​ແຕ່​ຈະ​ຕ້ອງ​ສ້າງ​ອອບ​ເຈັກ​ຂອງ​ຄາດ​ອື່ນໆ ທີ່​ສືບ​ທອດ​ມາ​ຈາກ​ຄາດ​ທີ່​ຊື Container ​ແທນ​ຄາດ​ທີ່​ຊື່ Container ຈະ​ມີ​ເມ​ທອດ ທີ່​ໃຊ້​ໃນ​ການ​ໃສ່​ສ່ວນ​ປະກອບ​ກຣາບຟິກອື່ນໆ ​ເມ​ທອດ​ນີ້​ຈະ​ມີ​ຮູບ​ແບບ​ທີ່​ສຳຄັນ​ດັ່ງ​ນີ້
  • Public void add (Component c)
  • Public void add (Component c, int position)
​ໂດຍ​ປົກກະຕິ​ຄາດ​ປະ​ເພດ Container ຈະ​ມີ​ການຈັດ​ວາງ​ສ່ວນ​ປະກອບ​ກຣາບຟິກ​ໂດຍ​
ກຳນົດ​ຕຳ​ແໜ່​ງ​ແລະຂະໜາ​ດຕາມ​ຮູບ​ແບບ​ການ​ຈັດ​ວາງ​ຜັງ ທີ່​ກຳນົດ​ໂດຍ​ອອບ​ເຈັກ​ປະ​ເພດ LayoutManager ​ໂດຍ​ອັດຕະ​ໂນ​ມັດ​ເຊິ່ງຈະ​ກ່າວ​ເຖິງ​ໃນ​ຫົວ​ຂໍ້​ຕໍ່​ໄປ
5.2.1  ຄາດ Frame
        ຄາດ Frame ​ເປັນ​ຄາດ​ທີ່​ສືບ​ທອດ​ມາ​ຈາກ​ຄາດ​ທີ່​ຊື່ Window ​ເຊີ່ງ​ຈັດ​ວ່າ​ເປັນ​ຄາດ​ປະ​ເພດ Container ​ແບບໜຶ່ງ ​ໂດຍ​ອອບ​ເຈັກ​ຂອງ​ຄາດ Frame ຈະ​ປະກອບ​ດ້ວຍ title bar, resizable corner, icon ​ແລະ menu bar ດັ່ງ​ສະ​ແດງ​ໃນ​ຮູບ​ທີ 5.4 ​ໂປຣ​​ແກຣມ GUI ສຳ​ຫລັບ​ໂປຣ​ແກຣມຈາ​ວາ​ປະຍຸກ​ຈະ​ເລີ່​ມຕົ້ນ​ດ້ວຍ​ການ​ສ້າງ​ອອບ​ເຈັກ​ຂອງ​ຄາດ Frame ຢ່າງ​ນ້ອຍ​ໜຶ່ງ​ອອບ​ເຈັກ ​ເຊິ່ງຄາດ Frame ຈະ​ມີ​ຮູບ​ແບບ​ຂອງ constructor ທີ່​ສຳຄັນ​ດັ່ງ​ນີ້
  • Public Frame ()
  • Public Frame (String title)
​ໂດຍ​ທີ່ title ຄື​ຂໍ້ຄວາມ​ທີ່​ຕ້ອງການ​ຈະ​ສະ​ແດງ​ກົງ title bar ຂອງ Frame
ຮູບ​ທີ 5.4 ຮູບ​​ແບບ​ຂອງ Frame
     ​ໂດຍ​ທົ່ວ​ໄປ​ຄາດ Frame ຈະ​ມີ​ຂະໜາດ​ເລີ່​ມຕົ້ນ​ເປັນ (0,0) ດັ່ນນັ້ນ​ຈຶ່ງ​ຈຳ​ເປັນ​ຈະ​ຕ້ອງ​ກຳນົດ​ຂະໜາດ​ຂອງ​ອອບ​ເຈັກ​ຂອງ ​Frame ໂດຍ​ໃຊ້​ເມ​ທອດ setSize () ນອກຈາກ​ນີ້​ຄາດ Frame ຈະ​ຖື​ກກຳນົດ​ໃຫ້​ບໍ່​ສາມາດ​ເບິ່ງ​ເຫັນ​ໄດ້​ໃນ​ຕອນ​ເລີ່​ມຕົ້ນ​ ດັ່ງ​ນັ້ນ​ຈຶ່ງ​ຕ້ອງ​ມີ​ການ​ເອີ້ນ​ໃຊ້​ເມ​ທອດ ​setVisible (true) ເພື່ອ​ກຳນົດ​ໃຫ້​ອອບ​ເຈັກ​ຂອງ​ຄາດ Frame ສາມາດ​ເບິ່ງ​ເຫັນ​ໄດ້
     ອອບ​ເຈັກ​ຂອງ​ຄາດ Frame ສາມາດ​ທີ່​ຈະ​ປັບ​ຂະໜາດ​ໄດ້​ໂດຍ​ການ​ລາກ​ເມົາ​ປັບ​ຂະໜາດ​ຂອງ​ເຟມ​ເຊິ່ງຄາດ ຈະ​ມີ​ເມ​ທອດ​ທີ່​ກ່ຽວຂ້ອງກັບ​ການ​ປັບ​ຂະໜາດ​ຂອງ​ເຟມດັ່ງ​ນີ້
  • Public Boolean isResizable ()
​ເປັນ​ເມ​ທອດ​ເພື່ອ​ກວດ​ສອບ​ວ່າ​ອອບ​ເຈັກ​ຂອງ​ຄາດ Frame ນີ້​ສາມາດ​ປັບ​ຂະໜາດ​ໄດ້​ຫລື​ບໍ່
  • Public void setResizable (Boolean canResize)
​ເປັນ​ເມ​ທອດ​ເພື່ອ​ກຳນົດ​ໃຫ້​ອອບ​ເຈັກ​ຂອງ​ຄາດ Frame ນີ້​ສາມາດ​ປັບ​ຂະ​ໜາດ​ໄດ້​ຫລື​ບໍ່
ໂປ​ຣ​ແກຣມທີ 5.1 ສະ​ແດງ​ຕົວຢ່າງ​ການ​ສ້າງອອບ​ເຈັກ​ຂອງ​ຄາດ Frame ທີ່​ຊື່ fr ​ແລະ​ກຳນົດ​ໃຫ້ fr ມີ​ຂະໜາດ​ເລີ່​ມຕົ້ນເປັນ 2001x150 ພິກ​ເຊ​ວ ໂດຍ​ກຳນົດ​​ໄວ້​ໃນ​ຄຳ​ສັ່ງ fr.setSize(200,150); ສ່ວນ​ຄຳ​ສັ່ງ fr.setVisible (true); ​ເປັນ​ຄຳ​ສັ່ງ​ເພື່ອ​ທີ່​ຈະ​ເຮັດ​ໃຫ້​ສາມ​ດາ​ເບິ່ງ​ເຫັນ​ອອບ​ເຈັກ ​fr ໄດ້​ໂປຣ​ແກຣມ​ໃຫ້​ຜົນ​ລັບ​ດັ່ງ​ສະ​ແດງ​ໃນ​ຮູບ​ທີ 5.5
ໂປຣ​ແກຣມທີ 5.1 ຄາດ FrameSample
Text Box: import java.awt.*;
public class FrameSample {
     private Frame fr;
     public void init() {
          fr = new Frame("Frame Sample");
          fr.setSize(200,150);
          fr.setVisible(true);
     }
     public static void main(String args[]) {
          FrameSample obj = new FrameSample();
          obj.init();
     }
}
 
















               


ຮູບ​ທີ 5.5 ຜົນ​ລັບ​ຈາ​ກການ​ລັນ​ໂປຣ​ແກຣມທີ 5.1
5.2.2  ຄາດ Panel
        ຄາດ Panel ​ຈະ​ເປັນຄາດ​ປະ​ເພດ Container ​ເຊັ່ນ​ດຽວ​ກັບ​ຄາດ Frame ​ແຕ່ Panel ຈະ​ແຕກ​ຕ່າງ​ຈາກ Frame ບ່ອນ​ທີ່ Panel ຈະ​ບໍ່​ມີ ​title bar ແລະ​ບໍ່​ມີ resizable corner ຄາດ Panel ຈະ​ມີ subclass ທີ່​ຊື່ Applet ​ເພື່ອ​ໃຊ້​ໃນ​ການ​ຂຽນ​ໂປຣ​ແກຣມຈາ​ວາ​ແອບ​ເພດ ​ເຊິ່ງ​ເຮັດ​ໃຫ້​ເຮົາ​ສາມາດ​​ໃສ່​ສ່ວນ​ປະກອບ​ກຣາບຟິກລົງ​ໃນ​ໂປຣ​ແກຣມຈາ​ວາ​ແອບ​ບ​ເພດ​ໄດ້​ໂປຣ​ແກຣມຈາ​ວາ​ປະຍຸກ​ບໍ່​ສາມາດ​ທີ່​ຈະ​ສ້າງ​ໂປຣ​ແກຣມ GUI ​ໂດຍ​​ເລີ່​ມຕົ້ນ​ຈາ​ກການ​ສ້າງ​ອອບ​ເຈັກ​ຂອງ​ຄາດ Panel ​ໄດ້​ໂດຍ​ກົງ ທັງ​ນີ້​ເນື່ອງ​ຈາກ​ໂປຣ​ແກຣມ GUI ຕ້ອງ​ມີ​ການ​ສ້າງ Frame ຂຶ້ນ​ມາກ່ອນ
      ຄາດ Panel ສາມາດ​ທີ່​ຈະ​ສ້າງ​ລົງ​ໄປ​ໃນ Frame ​ໄດ້​ຈຶ່ງ​ເຮັດ​ໃຫ້​ເຮົາ​ສາມາດ​ທີ່​ຈະ​ສ້າງ​ໂປຣ​ແກຣມ GUI ທີ່​ມີ​ການວາງ​ຜັງ​ທີ່​ຊັບຊ້ອນ​ຂຶ້ນ​ໄດ້ ​ໂດຍ​ການ​ໃສ່​ອອບ​ເຈັກ​ຂອງ​ຄາດ​ທີ່​ເປັນ​ສ່ວນ​ປະກອບ​ກຣາບຟິກຕ່າ​ງໆ ລົງ​ໃນ​ອອບ​ເຈັກ​ຂອງ​ຄາດ Panel ກ່ອນ​​ແລ້ວ​ຈຶ່ງ​ນຳ​ອອບ​ເຈັກ​ຂອງ​ຄາດ Panel ​ໃສ່​ລົງ​ໃນ​ອອບ​ເຈັກ​ຂອງ​ຄາດ​ປະ​ເພດ Container ອີກ​ຊັ້ນ​ໜຶ່ງ ທັງ​ນີ້​ເຮົາ​ສາມາດ​ທີ່​ຈະ​ກຳນົດ​ໃຫ້ ອອບ​ເຈັກ​ຂອງ​ຄາດ ​Panel ແຕ່​ລະ​ຕົວ​ສາມາດ​ມີ​ຕົວ​ຈັດ​ວາງ​ຜັງ​ທີ່​ຕ່າງ​ກັນ​ໄດ້ ​ແລະ​ເຮົາ​ຍັງ​ສາມາດ​ທີ່​ຈະ​ໃສ່ ອອບ​ເຈັກ​ຂອງ​ຄາດ Panel ລົງ​ໄປ​ໃນ​ອອບ​ເຈັກ​ຂອງ​ຄາດ Panel ຕົວ​ອື່ນ​ອີກ​ໜຶ່ງ​ກໍ່​ໄດ້
5.2.3  ຄາດ Dialog
       ຄາດ Dialog ​ເປັນ​ຄາດ​ທີ່​ສື​ບທອດ​ມາ​ຈາກ​ຄາດ Window ​ເພື່ອ​ໃຊ້​ເປັນ​ອິນ​ພຸດ​ແລະ​ເອົ້າ​ພຸດ​ກັບ​ຜູ້​ໃຊ້ ຄາດ Dialog ຈະ​ທຳ​ງານ​ຢູ່​ພາຍ​​ໃນ​ອອບ​ເຈັກ​ຂອງ​ຄາດ Frame ທັງ​ນີ້​ການ​ສ້າງ​ອອບ​ເຈັກ​ຂອງ​ຄາດ Dialog ຈະ​ຕ້ອງ​ລະບຸ​ອອ​ບ​ເຈັກ​ຂອງ​ຄາດ Frame ທີ່​ຄູ່​ກັນ​ເຊິ່ງ​ເອີ້ນ​ວ່າ​ເຟມແມ່ (parent frame) ອອບ​ເຈັກ​ຂອງ​ຄາດ Dialog ອາດ​ມີ​ໂໝດການ​ທຳ​ງານ​​ແບບ modal ​ເຊິ່ງຜູ້​ໃຊ້​ຕ້ອງ​ປິດ​ອອບ​ເຈັກ​ຂອງ​ຄາດ ກ່ອນ​ຈຶ່ງ​ຈະ​ກັບ​ມາ​ທຳ​ງານ​ໃນ​ເຟມ​ແມ່​ທີ່​ຄູ່​ກັນ​ໄດ້​ຄາດ Dialog ມີ​ຮູບ​ແບບ​ຂອງ constructor ທີ່​ສຳຄັນ​ດັ່ງ​ນີ້

  • public Dialog(Frame parent)
  • public Dialog(Frame parent,String title)
  • public Dialog(Frame parent, boolean isModal)
  • public Dialog(Frame parent, String title, boolean isModal)
​ໂດຍ​ທີ່
  • ຄື​ອອບ​ເຈັກ​ຂອງ​ຄາດ ທີ່​ເປັນ​​ເຟມ​ແມ່
  • title ຄື​ຂໍ້ຄວາມ​ທີ່​ຕ້ອງການ​ຈະ​ສະ​ແດງ​ບ່ອນ title bar ຂອງ Dialog
  • isModal ຄື​ຂໍ້​ມູນ​ຊະນິດ boolean ​ເພື່ອ​ລະບຸ​ວ່າ​ອອບ​ເຈັກ​ຂອງ Dialog ມີ​ໂໝດ​ເປັນ modal ຫລື​ບໍ່
ນອກຈາກ​ນີ້ Java API ​ໄດ້​ກຳນົດ​ໃຫ້​ມີ​ຄາດ​ທີ່​ສືບ​ທອດ​ມາ​ຈາກ​ຄາດ Dialog ອື່ນໆ ອີກ​
ເຊັ່ນ ຄາດ ​FileDialog ເຊິ່ງຈະ​ໃຊ້​​ໃນ​ການ​ລະບຸ​ຊື່​ໄຟ​ທີ່​ຕ້ອງການ​ໃຊ້​ງານ​ໃນ​ໂປຣ​ແກຣມ
5.2.4  ຄາດ JFrame
        ​ແພັກ​ເກດ Swing ມີ​ຄາດ​ປະ​ເພດ Container ທີ່​ແຕກ​ຕ່າງ​ຈາກ​ຄາດ Container ຂອງ​ແພັກ​ເກດ AWT ຄື JFrame, JDialog, JPanel ​ແລະ JApplet ດັ່ງ​ຮູບ​ທີ 5.6 ​ໂດຍ​ທົ່ວ​ໄປ​ໂປຣ​ແກຣມ GUI ທີ່​ເປັນ​ໂປຣ​ແກຣມຈາ​ວາ​ປະຍຸກ​ຈະ​ໃຊ້ Container ທີ່​ເປັນ​ອອບ​ເຈັກ​ຂອງ​ຄາດ JFrame
      ຄາດ JFrame ຈະ​ສືບ​ທອດ​ມາ​ຈາກ​ຄາດ ​Frame ໂດຍ​ມີ constructor ທີ່​ສຳຄັນ​ດັ່ງ​ນີ້
  • public JFrame ()
  • public JFrame (String title)
ຮູບ​ທີ 5.6 ຄາດ​ຊະນິດ Container ຂອງ​ແພັກ​ເກດ Swing
    ອອບ​ເຈັກ​ຂອງ​ຄາດ JFrame ຈະ​ແຕກ​ຕ່າງ​ກັບ Frame ບ່ອນ​ທີ່​ຈະ​ມີໜ້າ​ຕ່າງ (Pane) ຢູ່ 4 ໜ້າ​ຕ່າງ​ດັ່ງ​ສະ​ແດງ​ໃນ​ຮູບ​ທີ 5.7 ຄື
  • root pane
  • layer pane
  • glass pane
  • content pane
​ເຮົາ​ບໍ່​ສາມາດ​ທີ່​ຈະ​ໃສ່​ສ່ວນ​ປະ​ກອບ​ກຣາບຟິກ​ໃນ ​JFrame ໄດ້​ໂດຍ​ກົງ ​ແຕ່​ຈະ​ຕ້ອງ​ໃສ່​ລົງ​
ໃນ​ໜ້າ​ຕ່າງ​ທີ່​ເປັນ ​content pane ແທນ ທັງ​ນີ້​ໜ້າ​ຕ່າງ​ດັ່ງ​ກ່າວ​ເປັນ​ອອບ​ເຈັກ​ຂອງ​ຄາດ​ປະ​ເພດ Container ​ແບບ​ໜຶ່ງ ​ເຮົາ​ສາມາດ​ທີ່​ຈະ​ເອີ້ນ​ອອບ​ເຈັກ​ຂອງ​ຄາດ​ປະ​ເພດ Container  ດັ່ງ​ກ່າວ​ໄດ້​ໂດຍ​ໃຊ້​ເມ​ທອດ​ທີ່​ຊື ​getContentPane () ແລະ​ສາມາດ​ທີ່​ຈະ​ໃສ່​ສ່ວນ​ປະກອບ​ກຣາບຟິກລົງ​ໃນ​ອອບ​ເຈັກ​ດັ່ງກ່າວ​ໄດ້​ໂດຍ​ໃຊ້​ເມ​ທອດ add() ດັ່ງ​ຕົວຢ່າງ​ເຊັ່ນ
         JFrame fr = new JFrame();
         JButton bn1 = new JButton("Submit");
         Container content = fr.getContentPane();
         content.add(bn1);


ຮູບ​ທີ 5.7 ໜ້າ​ຕ່າງ​ທີ່ຢູ່​ໃນ​ຄາດ JFrame
     ​ໂປ​ຣ​ແກຣມ Java SE 5 ​ໄດ້​ກຳນົດ​ໃຫ້​ເຮົາ​ສາມາດ​ທີ່​ຈະ​ໃສ່​ສ່ວນ​ປະກອບ​ກຣາບຟິກລົງ​ໃນ JFrame ​ໄດ້​​ໂດຍ​ກົງ ​ໂດຍ​ການ​ກຳນົດ​ໃຫ້​ຄຳ​ສັ່ງ add() ​ແລະ setLayout () ​ໃນ JFrame ຈະ​ເປັນ​ການ​ສົ່ງຄຳ​ສັ່ງ​ໄປ​ຍັງ ​ໂດຍ​ອັດຕະ​ໂນ​ມັດ ດັ່ງ​ນັ້ນ​ເຮົາ​ສາມາດ​ທີ່​ຈະ​ຂຽນ​ຄຳ​ສັ່ງ​ຂ້າງ​ເທິງ​ໃໝ່​ໄດ້​ເປັນ
        JFrame fr = new JFrame();
        JButton bn1 = new JButton("Submit");
        fr.add(bn1);
     ນອກຈາກ​ນີ້​ຄາດ JFrame ຍັງ​ມີ​ເມ​ທອດ​ທີ່​ຈະ​ຖືກ​ເອີ້ນ​ໃນ​ງານ ​ເມື່ອ​ມີ​ການ​ປິດ JFrame ດັ່ງ​ນີ້
  • public void setDefaultCloseOperation(int operation)
   ​ໂດຍ​ເຮົາ​ສາມາດ​ກຳນົດ​ຄ່າ​ຂອງ ​operation ໄດ້​ທັງ​ໝົດ 4 ຄ່າ​ດັ່ງ​ນີ້
  • DO_NOTHING_ON_CLOSE (ຖືກ​ກຳນົດ​ໃນ​ອິນ​ເຕີ​ເຟດ WindowConstants):
ຈະ​ບໍ່​ເຮັດ​ຫຍັງ ​ໂດຍ​ໃຫ້​​ໄປ​ເອີ້ນ​ໃຊ້​ເມ​ທອດ WindowClosing ຂອງ​ອອບ​ເຈັກ WindowListener ທີ່​ມີ​ການ​ລົງ​ທະບຽນ​ໄວ້​ແລ້ວ​ແທນ
  • HIDE_ON_CLOSE (ຖືກ​ກຳນົດ​ໃນ​ອິນ​ເຕີ​ເຟດ WindowConstants):
ຈະ​ທຳ​ການ​ຊ້ອນ​​ JFrame ຫລັງ​ຈາກ​ເອີ້ນ​ໃຊ້​ອອບ​ເຈັກ WindowListener ທີ່​ມີ​ການ​ລົງທະບຽນ​ໄວ້​ແລ້ວ
  • DISPOSE_ON_CLOSE (ຖືກ​ກຳນົດ​ໃນ​ອິນ​ເຕີ​ເຟດ WindowConstants):
ຈະ​ທຳ​ການ​ຊ້ອນ​ແລະ​ທຳລາຍ JFrame ຫລັງ​ຈາກ​ເອີ້ນ​ໃຊ້​ອອບ​ເຈັກ​ຂອງ windowListener ທີ່​ມີ​ການ​ລົງ​ທະບຽນ​ໄວ້​ແລ້ວ
  • EXIT_ON_CLOSE (ຖືກ​ກຳນົດ​ໃນ​ຄາດ JFrame):
ຈະ​ມີ​ການ​ເອີ້ນ​ໃຊ້​ເມ​ທອດ exit ຂອງ​ຄາດ System
   ​ໂດຍ​ຄ່າ​ຂອງ operation ຈະ​ມີ​ຄ່າ​ເລີ່​ມຕົ້ນ​ເປັນ HIDE_ON_CLOSE
   ​ໂປຣ​ແກຣມທີ 5.2 ສະ​ແດງ​ຕົວຢ່າງ​ການ​ສ້າງ​ອອບ​ເຈັກ​ຂອງ​ຄາດ JFrame ທີ່​ຊື່ fr ​ໂດຍ​ໃຊ້​ຄຳ​ສັ່ງ fr.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); ​ເພື່ອ​ໃຫ້​ມີ​ການ​ເອີ້ນ​ໃຊ້​​ເມ​ທອດ exit ຂອງ​ຄາດ System ​ເມື່ອ​ມີ​ການ​ປິດ Jframe ​ແລະ​ກຳນົດ​ໃຫ້ fr ມີ​ຂະໜາດ​ເລີ່​ມຕົ້ນ​ເປັນ 200x150 ພິກ​ເຊ​ວ ​ໂດຍ​ກຳນົດ​​ໄວ​ໃນ​ຄຳ​ສັ່ງ fr.setSize(200,150) ສ່ວນ​ຄຳ​ສັ່ງ fr.setVisible (true)​; ເປັນຄຳ​ສັ່ງ​​ເພື່ອ​ທີ່​ຈະ​ເຮັດ​ໃຫ້​ສາມ​າດ​ເບິ່ງ​ເຫັນ​ອອບ​ເຈັກ ​fr ໄດ້​ໂປຣ​ແກຣມນີ້​ຈະ​ໃຫ້​ຜົນ​ລັບ​ດັ່ງ​ສະ​ແດງ​ໃນ​ຮູບ​ແບບ​ທີ 5.8

ไม่มีความคิดเห็น:

แสดงความคิดเห็น