The Grid ไม่ได้ทำอะไรเป็นพิเศษในขั้นตอนนี้ แต่ด้วยการค้นคว้าเพียงเล็กน้อย คุณสามารถเพิ่มผู้ฟังการกระทำและตรรกะเล็กน้อยเพื่อสร้างเกม 2D ง่ายๆ เช่น tic-tac-toe หรือเกมที่ซับซ้อนกว่าเช่น Battleship
หมายเหตุ: บทความนี้ใช้ Eclipse สำหรับตัวอย่างทั้งหมด ดังนั้นสิ่งต่างๆ อาจแตกต่างกันไปตาม IDE ของคุณ สิ่งนี้ควรจะคล้ายกับสิ่งที่คุณต้องการใน JCreator มาก แต่ก็ค่อนข้างไร้ประโยชน์สำหรับ IDE ที่ใช้ GUI เช่น NetBeans ส่วนใหญ่เป็นเพราะวิธีการลากและวางของ NetBeans
ขั้นตอน
ขั้นตอนที่ 1 สร้างโปรเจ็กต์ Java
นี้ค่อนข้างง่าย เปิด IDE ของคุณและสร้างโครงการใหม่ เรียกมันว่าสิ่งที่คุณต้องการ ตัวอย่างจะเป็นปุ่มกริด
ชื่อนี้ไม่สำคัญเลยเพราะเป็นเพียงชื่อไฟล์ที่จะได้รับ
ขั้นตอนที่ 2 สร้างคลาส Java ด้วยวิธีการหลัก
สร้างชั้นเรียนใหม่และตั้งชื่อตามที่คุณต้องการ ตัวอย่างจะเป็นปุ่มกริด สำหรับผู้ใช้ Eclipse คุณจะต้องติ๊กกล่องที่เรียกว่า public static void main(string args) ดังนั้นคุณจึงไม่ต้องพิมพ์เมื่อเริ่มต้น
ชื่อนี้สำคัญกว่าชื่อก่อนหน้าเพราะจะต้องเป็นคำเดียวไม่เช่นนั้นจะใช้ไม่ได้
ขั้นตอนที่ 3 นำเข้าไลบรารี
ข้อมูลนี้จะนำข้อมูลทั้งหมดที่คุณจะต้องเขียนโค้ดลงในโค้ดนี้ คุณจะต้องนำเข้า javax.swing. JFrame, javax.swing. JButton และ java.awt. Gridlayout สิ่งเหล่านี้ถูกวางไว้ก่อนเริ่มชั้นเรียน ที่ไหนสักแห่งในบรรทัดระหว่าง 1 ถึง 3 ลำดับที่พวกเขาอยู่ตรงนั้นไม่สำคัญ
ขั้นตอนที่ 4 สร้างตัวสร้าง
คอนสตรัคเตอร์สร้างอินสแตนซ์ใหม่ของคลาส buttongrid ที่อนุญาตให้กริดปุ่มต่างๆ จำนวนมากมีข้อมูลแยกจากกัน คอนสตรัคเตอร์ทั้งหมดต้องมีชื่อเหมือนกับคลาสของพวกเขา ตัวสร้างไม่ต้องการอะไรก่อนหน้านั้น แต่มักจะใส่ 'สาธารณะ' ไว้ที่นั่นเพื่อความสะดวกในการอ้างอิง ตัวสร้างมักจะถูกวางไว้เป็นวิธีการแรกในคลาส ดังนั้นมันจึงอยู่หลังชื่อคลาส อย่างไรก็ตาม จะต้องวางไว้ภายในคลาส คอนสตรัคเตอร์แบบปุ่มกริดต้องการพารามิเตอร์ ซึ่งอยู่ในวงเล็บหลังชื่อของคอนสตรัคเตอร์ พารามิเตอร์ในตัวอย่างนี้คือจำนวนเต็ม 'x' และ 'y'
ขั้นตอนที่ 5. สร้างเฟรม:
- ต้องตั้งชื่อเฟรม เพื่อให้แน่ใจว่าสามารถอ้างอิงได้นอกเมธอดตัวสร้าง ButtonGrid คุณวางมันไว้นอกเมธอดนั้น แต่อยู่ในคลาส ตัวแปรส่วนใหญ่จะตั้งชื่อไว้ที่ด้านบนสุดของคลาสก่อนตัวสร้าง ในการสร้างเฟรมใหม่ คุณพิมพ์: JFrame frame = new JFrame();
- ภายในวิธี Constructor เราต้องตรวจสอบให้แน่ใจว่าปุ่มทั้งหมดอยู่ในเลย์เอาต์กริด ในการดำเนินการนี้ เราตั้งค่าเลย์เอาต์ของเฟรมโดยพิมพ์: frame.setLayout(new GridLayout(x, y));
- ไม่จำเป็นต้องบังคับ แต่เพื่อให้เฟรมปิดเมื่อคุณกดปุ่ม 'x' ที่มุมบนขวาเราจำเป็นต้องเพิ่มบรรทัด: frame.setDefaultCloseOperation(JFrame. EXIT_ON_CLOSE);
- ในการทำให้เฟรมมีขนาดที่เหมาะสมเพื่อให้ทุกอย่างพอดี เราจำเป็นต้องรันคำสั่ง pack: frame.pack();
-
สุดท้ายสำหรับเฟรมเราต้องทำให้มันมองเห็นได้: frame.setVisible(true);
ขั้นตอนที่ 6 สร้างตารางปุ่ม:
- จำเป็นต้องสร้างปุ่มที่ผู้ใช้โต้ตอบด้วย แต่เนื่องจากเราไม่ทราบว่าต้องใช้กี่ปุ่ม จึงจำเป็นต้องตั้งชื่อปุ่มเหล่านั้นก่อน ด้านล่างบรรทัดที่คุณสร้างเฟรมสร้างปุ่ม: JButton grid; วงเล็บเหลี่ยมสองชุดมีไว้เพื่อบอกว่า JButton ในตารางถูกเก็บไว้ในรูปแบบสองมิติ หากมีวงเล็บเหลี่ยมเพียงชุดเดียว มันก็จะเป็นเพียงเส้นของ JButton ซึ่งยังคงใช้งานได้อยู่ ง่ายต่อการอ้างอิงว่าปุ่มใดกำลังสร้างหรือโต้ตอบด้วยเมื่อเป็นสองมิติ
- JButton ได้รับการตั้งชื่อแล้ว แต่เรายังต้องบอกว่ามีกี่ปุ่ม คุณต้องเพิ่มบรรทัดของโค้ดในตัวสร้างที่กำหนดจำนวน: grid=new JButton[width][length];
-
ตอนนี้กำหนดได้แล้วว่าจะมีปุ่มจำนวนหนึ่ง ต้องสร้างแต่ละปุ่ม วิธีที่ง่ายที่สุดในการทำเช่นนี้คือใช้ลูปสองอัน อันหนึ่งสำหรับแกน x อีกอันสำหรับแกน y ภายในสองลูป เราสร้างปุ่มใหม่ และเพื่อความสะดวกในการอ้างอิง ตัวอย่างจะใส่ข้อความในแต่ละปุ่ม เพื่อให้เรารู้ว่าปุ่มใดในอาร์เรย์สองมิติคือตำแหน่งใด ในการสร้างปุ่ม ภายในลูป คุณต้องใส่ grid[x][y] = new JButton ("("+x+", "+y+")");
ขั้นตอนที่ 7 เพิ่มปุ่มลงในเฟรม
ภายในลูปเราจำเป็นต้องวางปุ่มบนเฟรมด้วยคำสั่งง่ายๆ: frame.add(grid[x][y]);
ขั้นตอนที่ 8 สร้างอินสแตนซ์ ButtonGrid
ในประเภทคลาสหลักของคุณ: new ButtonGrid(3, 3); เลขสองสามเป็นตารางขนาด 3 คูณ 3 และสามารถใส่เลขบวกสองตัวใดๆ ลงไปได้
ขั้นตอนที่ 9 เรียกใช้โปรแกรม
เมื่อต้องการทำสิ่งนี้ใน eclipse ให้กด Ctrl+F11
วิธีที่ 1 จาก 1: รหัสขั้นตอน
คลาสหลัก:
ButtonGrid คลาสสาธารณะ { โมฆะคงที่สาธารณะหลัก (สตริง args) { } }
การนำเข้า:
นำเข้า javax.swing. JFrame; นำเข้า javax.swing. JButton; นำเข้า java.awt. GridLayout; ButtonGrid คลาสสาธารณะ { …
รหัสตัวสร้าง:
ButtonGrid คลาสสาธารณะ { ButtonGrid สาธารณะ (ความกว้าง int, ความยาว int){ } } …
รหัสเฟรม:
ButtonGrid คลาสสาธารณะ { กรอบ JFrame = Jframe ใหม่ (); ButtonGrid สาธารณะ (ความกว้าง int ความยาว int) { frame.setLayout (GridLayout ใหม่ (ความกว้าง ความยาว)); frame.setDefaultCloseOperation(JFrame. EXIT_ON_CLOSE); frame.pack(); frame.setVisible(จริง); } } …
รหัสกริดปุ่ม:
|JFrame frame=ใหม่ JFrame(); //สร้างเฟรม JButton กริด; // ตั้งชื่อกริดของปุ่มสาธารณะ ButtonGrid (ความกว้าง int, ความยาว int) { // ตัวสร้างพร้อมพารามิเตอร์ 2 ตัว frame.setLayout (ใหม่ GridLayout (ความกว้าง, ความยาว)); //กำหนดเลย์เอาต์ของ frame grid=new JButton[width][length]; // จัดสรรขนาดของกริดสำหรับ (int y=0; y<length; y++){ for(int x=0; x<width; x++){ grid[x][y]=new JButton("("+ x+","+y+")"); frame.add(grid[x][y]); //เพิ่มปุ่มลงในกริด } } frame.setDefaultCloseOperation(JFrame. EXIT_ON_CLOSE); frame.pack(); frame.setVisible(จริง); } …
การเพิ่มปุ่มลงในเฟรม:
สำหรับ(int y=0; y<ความยาว; y++){ สำหรับ(int x=0; x<ความกว้าง; x++){ grid[x][y]=new JButton("("+x+", "+y+")"); frame.add(grid[x][y]); } } …
การสร้างอินสแตนซ์กริดปุ่ม:
โมฆะคงที่สาธารณะหลัก (สตริง args) { ButtonGrid ใหม่ (3, 3); // สร้าง ButtonGrid ใหม่พร้อม 2 พารามิเตอร์ } …
รหัสสุดท้าย:
นำเข้า javax.swing. JFrame; //นำเข้าไลบรารี JFrame นำเข้า javax.swing. JButton; //นำเข้าไลบรารี JButton นำเข้า java.awt. GridLayout; // นำเข้าไลบรารี GridLayout คลาสสาธารณะ ButtonGrid { กรอบ JFrame = JFrame ใหม่ (); //สร้างเฟรม JButton กริด; // ตั้งชื่อตารางของปุ่มสาธารณะ ButtonGrid (ความกว้าง int, ความยาว int) { //constructor frame.setLayout (ใหม่ GridLayout (ความกว้าง, ความยาว)); // set โครงร่าง grid=new JButton[width][length]; // จัดสรรขนาดของกริดสำหรับ (int y=0; y<length; y++){ for(int x=0; x<width; x++){ grid[x][y]=new JButton("("+ x+","+y+")"); //สร้างปุ่มใหม่ frame.add(grid[x][y]); //เพิ่มปุ่มลงในกริด } } frame.setDefaultCloseOperation(JFrame. EXIT_ON_CLOSE); frame.pack(); //กำหนดขนาดที่เหมาะสมสำหรับ frame frame.setVisible(true); // ทำให้มองเห็นเฟรมได้ } โมฆะคงที่สาธารณะหลัก (สตริง args) { ButtonGrid ใหม่ (3, 3); // สร้าง ButtonGrid ใหม่ด้วย 2 พารามิเตอร์ } }
นำเข้า javax.swing. JFrame; //นำเข้าไลบรารี JFrame นำเข้า javax.swing. JButton; //นำเข้าไลบรารี JButton นำเข้า java.awt. GridLayout; //นำเข้าไลบรารี GridLayout
ButtonGrid คลาสสาธารณะ {
กรอบ JFrame = JFrame ใหม่ (); //สร้างเฟรม JButton กริด; // ตั้งชื่อตารางของปุ่ม
ButtonGrid สาธารณะ (ความกว้าง int, ความยาว int) {// ตัวสร้าง frame.setLayout (GridLayout ใหม่ (ความกว้าง, ความยาว)); // set โครงร่าง grid=new JButton[width][length]; // จัดสรรขนาดของกริดสำหรับ (int y=0; y<length; y++){ for(int x=0; x<width; x++){ grid[x][y]=new JButton("("+ x+","+y+")"); //สร้างปุ่มใหม่ frame.add(grid[x][y]); //เพิ่มปุ่มลงในกริด } } frame.setDefaultCloseOperation(JFrame. EXIT_ON_CLOSE); frame.pack(); //กำหนดขนาดที่เหมาะสมสำหรับ frame frame.setVisible(true); // ทำให้มองเห็นเฟรมได้ } โมฆะคงที่สาธารณะหลัก (สตริง args) { ButtonGrid ใหม่ (3, 3); // สร้าง ButtonGrid ใหม่ด้วย 2 พารามิเตอร์}