LAB 02 - Inventory Application

แล็บนี้เราจะลองทำ โปรแกรมคูณเลขง่ายๆดู
ตอนที่ 1
โจทย์
ห้องสมุดรันหนังสือแต่ละครั้งเป็นลังหลายๆลัง ถ้าให้แต่ละลังมีจำนวนหนังสือเท่ากัน ผู้ดูแลห้องสมุดต้องการให้นักเรียนทำโปรแกรมง่ายๆให้เขาใช้งานในการรับของหนึ่งครั้งดังนี้

ตัวอย่างโปรแกรม เป็นดังรูป



โดยจะมีช่องขาวๆ ที่พิมพ์ลงไปได้ (เรียกว่า JTextBox) สองช่อง เมื่อพิมพ์ลงไปแล้วกดปุ่ม (JButton) calculate Total จะปรากฎว่า ผลคูณจะแสดงออกมาใน JTextBox ที่พิมพ์ไม่ได้ ส่วนตัวหนังสือที่อธิบายต่างๆก็เป็น JLabel หมด ให้วินโดวมีขนาด 354, 112

ก่อนอื่น จงทำวินโดว์ออกมาให้ได้หน้าตาแบบนี้ก่อน ไม่ต้องขนาดเท่าเป๊ะ แต่ต้องมีการวางชิ้นส่วนต่างๆในสไตล์เดียวกัน ยังไม่ต้องคำนวณ ให้เริ่มเขียนคลาส จากโครงนี้ เปลี่ยนโค้ดได้ตามใจ สามารถลบโค้ดเดิมทำใหม่หมดได้ แต่ชื่อต่างๆขอให้คงไว้
เอาล่ะ ถ้าทำเสร็จแล้ว ยังมีต่อ คราวนี้เราจะมาทำให้มันคำนวณจริงๆซะที พอกดปุ่มปั๊บ ให้มันคำนวณแล้วโชว์ผลปุ๊บ

ทำได้เลย

ตอนที่ 2

เพิ่มเติมจากตอนที่ 1  




พอทำเสร็จแล้ว ทำเป็น executable jar ไว้ แล้วส่ง
มาที่ progmethcp@gmail.com ภายในเที่ยงคืนวันที่ทำแล็บนี้  โดยในเมล์ subject ต้องเขียนเป็น studentId_lab02_secNumber และชื่อไฟล์จะต้องเป็น studentId_lab02_secNumber.jar   ตัวอย่างเช่น 5032117621_lab02_1.jar

studentID คือเลขประจำตัวนิสิต

secNumber คือเบอร์ตอนเรียน

ไปหน้าการบ้าน


ไกด์
ตอนที่ 1
สำหรับคนที่ยังงงๆหรือทำไม่ได้ ผมจะค่อยๆสอนไปทีละขั้นนะ ขอย้ำอีกทีว่า ให้คิดไปด้วย อย่าเอาแต่ทำตามอย่างเดียว ไม่งั้นเดี๋ยวไม่เก็ตนะ
ถ้าเราต้องการกดปุ่ม (หรือกดอะไรก็ตาม แล้วให้โปรแกรมทำโน่นนี่)์
เอาล่ะ สำหรับการสร้างตัวฟัง เพื่อจะฟังปุ่มนั้น เราใช้ตัวฟังประเภท actionListener (ตัวฟังที่ฟังเหตุการณ์อย่างเช่นการติ๊กถูกผิดในช่อง จะเป็นประเภทอื่น เรียกไม่เหมือนกัน) ซึ่งเราสามารถสร้างตัวฟังแล้วไปแปะกับปุ่มได้เลย

ใช้โค้ดนี่

calculateJButton.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent event){
                                    // โค้ดที่จะรันเมื่อ ตัวฟังรู้ว่ามีปุ่มถูกกด
                }
  } );
่้

หลักๆน่าจะเท่านี้ละ ทีนี้ก็เหลือแค่ให้เราทำการคำนวณให้ได้เท่านั้น ผมจะ hint ให้นิดหน่อยก็แล้วกันนะ

ตอนที่ 2
เอาล่ะ หลักการยังเหมือนเดิม ในเมื่อเราจะทำให้ เมื่อ คนพิมพ์ลงไปในช่อง input แล้ว text ในช่องแสดงผลหายไป

เราก็ทำได้ โดยหลักการดังนี้

ส่งแล้ว ทำการบ้านต่อด้วย


ไปหน้าการบ้าน