ການສ້າງສ່ວນຕໍ່ປະສານກຣາບຟິກກັບຜູ້ໃຊ້
ເນື້ອຫາໃນບົດນີ້ເປັນການແນະນຳການຂຽນໂປຣແກຣມຈາວາປະຍຸກທີ່ມີສ່ວນຕໍ່ປະສານກຣາບຟິກກັບຜູ້ໃຊ້
ໂດຍຈະເປັນການແນະນຳຄາດແລະອິນເຕີເຟດທີ່ສຳຄັນໃນແພັກເກດ 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
ຮູບທີ 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
ไม่มีความคิดเห็น:
แสดงความคิดเห็น