วิธีสร้าง GUI Grid ใน Java (พร้อมรูปภาพ)

สารบัญ:

วิธีสร้าง GUI Grid ใน Java (พร้อมรูปภาพ)
วิธีสร้าง GUI Grid ใน Java (พร้อมรูปภาพ)

วีดีโอ: วิธีสร้าง GUI Grid ใน Java (พร้อมรูปภาพ)

วีดีโอ: วิธีสร้าง GUI Grid ใน Java (พร้อมรูปภาพ)
วีดีโอ: INKscape ✍️ ปากกา ดินสอ แปรง ( V1.1 , 2021/11 ) (ตามคำขอ) 2024, อาจ
Anonim

The Grid ไม่ได้ทำอะไรเป็นพิเศษในขั้นตอนนี้ แต่ด้วยการค้นคว้าเพียงเล็กน้อย คุณสามารถเพิ่มผู้ฟังการกระทำและตรรกะเล็กน้อยเพื่อสร้างเกม 2D ง่ายๆ เช่น tic-tac-toe หรือเกมที่ซับซ้อนกว่าเช่น Battleship

หมายเหตุ: บทความนี้ใช้ Eclipse สำหรับตัวอย่างทั้งหมด ดังนั้นสิ่งต่างๆ อาจแตกต่างกันไปตาม IDE ของคุณ สิ่งนี้ควรจะคล้ายกับสิ่งที่คุณต้องการใน JCreator มาก แต่ก็ค่อนข้างไร้ประโยชน์สำหรับ IDE ที่ใช้ GUI เช่น NetBeans ส่วนใหญ่เป็นเพราะวิธีการลากและวางของ NetBeans

ขั้นตอน

สร้าง GUI Grid ใน Java ขั้นตอนที่1
สร้าง GUI Grid ใน Java ขั้นตอนที่1

ขั้นตอนที่ 1 สร้างโปรเจ็กต์ Java

นี้ค่อนข้างง่าย เปิด IDE ของคุณและสร้างโครงการใหม่ เรียกมันว่าสิ่งที่คุณต้องการ ตัวอย่างจะเป็นปุ่มกริด

ชื่อนี้ไม่สำคัญเลยเพราะเป็นเพียงชื่อไฟล์ที่จะได้รับ

สร้าง GUI Grid ใน Java ขั้นตอนที่2
สร้าง GUI Grid ใน Java ขั้นตอนที่2

ขั้นตอนที่ 2 สร้างคลาส Java ด้วยวิธีการหลัก

สร้างชั้นเรียนใหม่และตั้งชื่อตามที่คุณต้องการ ตัวอย่างจะเป็นปุ่มกริด สำหรับผู้ใช้ Eclipse คุณจะต้องติ๊กกล่องที่เรียกว่า public static void main(string args) ดังนั้นคุณจึงไม่ต้องพิมพ์เมื่อเริ่มต้น

ชื่อนี้สำคัญกว่าชื่อก่อนหน้าเพราะจะต้องเป็นคำเดียวไม่เช่นนั้นจะใช้ไม่ได้

สร้าง GUI Grid ใน Java ขั้นตอนที่3
สร้าง GUI Grid ใน Java ขั้นตอนที่3

ขั้นตอนที่ 3 นำเข้าไลบรารี

ข้อมูลนี้จะนำข้อมูลทั้งหมดที่คุณจะต้องเขียนโค้ดลงในโค้ดนี้ คุณจะต้องนำเข้า javax.swing. JFrame, javax.swing. JButton และ java.awt. Gridlayout สิ่งเหล่านี้ถูกวางไว้ก่อนเริ่มชั้นเรียน ที่ไหนสักแห่งในบรรทัดระหว่าง 1 ถึง 3 ลำดับที่พวกเขาอยู่ตรงนั้นไม่สำคัญ

สร้าง GUI Grid ใน Java ขั้นตอนที่4
สร้าง GUI Grid ใน Java ขั้นตอนที่4

ขั้นตอนที่ 4 สร้างตัวสร้าง

คอนสตรัคเตอร์สร้างอินสแตนซ์ใหม่ของคลาส buttongrid ที่อนุญาตให้กริดปุ่มต่างๆ จำนวนมากมีข้อมูลแยกจากกัน คอนสตรัคเตอร์ทั้งหมดต้องมีชื่อเหมือนกับคลาสของพวกเขา ตัวสร้างไม่ต้องการอะไรก่อนหน้านั้น แต่มักจะใส่ 'สาธารณะ' ไว้ที่นั่นเพื่อความสะดวกในการอ้างอิง ตัวสร้างมักจะถูกวางไว้เป็นวิธีการแรกในคลาส ดังนั้นมันจึงอยู่หลังชื่อคลาส อย่างไรก็ตาม จะต้องวางไว้ภายในคลาส คอนสตรัคเตอร์แบบปุ่มกริดต้องการพารามิเตอร์ ซึ่งอยู่ในวงเล็บหลังชื่อของคอนสตรัคเตอร์ พารามิเตอร์ในตัวอย่างนี้คือจำนวนเต็ม 'x' และ 'y'

สร้าง GUI Grid ใน Java ขั้นตอนที่ 5
สร้าง GUI Grid ใน Java ขั้นตอนที่ 5

ขั้นตอนที่ 5. สร้างเฟรม:

  1. ต้องตั้งชื่อเฟรม เพื่อให้แน่ใจว่าสามารถอ้างอิงได้นอกเมธอดตัวสร้าง ButtonGrid คุณวางมันไว้นอกเมธอดนั้น แต่อยู่ในคลาส ตัวแปรส่วนใหญ่จะตั้งชื่อไว้ที่ด้านบนสุดของคลาสก่อนตัวสร้าง ในการสร้างเฟรมใหม่ คุณพิมพ์: JFrame frame = new JFrame();
  2. ภายในวิธี Constructor เราต้องตรวจสอบให้แน่ใจว่าปุ่มทั้งหมดอยู่ในเลย์เอาต์กริด ในการดำเนินการนี้ เราตั้งค่าเลย์เอาต์ของเฟรมโดยพิมพ์: frame.setLayout(new GridLayout(x, y));
  3. ไม่จำเป็นต้องบังคับ แต่เพื่อให้เฟรมปิดเมื่อคุณกดปุ่ม 'x' ที่มุมบนขวาเราจำเป็นต้องเพิ่มบรรทัด: frame.setDefaultCloseOperation(JFrame. EXIT_ON_CLOSE);
  4. ในการทำให้เฟรมมีขนาดที่เหมาะสมเพื่อให้ทุกอย่างพอดี เราจำเป็นต้องรันคำสั่ง pack: frame.pack();
  5. สุดท้ายสำหรับเฟรมเราต้องทำให้มันมองเห็นได้: frame.setVisible(true);

    สร้าง GUI Grid ใน Java ขั้นตอนที่6
    สร้าง GUI Grid ใน Java ขั้นตอนที่6

    ขั้นตอนที่ 6 สร้างตารางปุ่ม:

    1. จำเป็นต้องสร้างปุ่มที่ผู้ใช้โต้ตอบด้วย แต่เนื่องจากเราไม่ทราบว่าต้องใช้กี่ปุ่ม จึงจำเป็นต้องตั้งชื่อปุ่มเหล่านั้นก่อน ด้านล่างบรรทัดที่คุณสร้างเฟรมสร้างปุ่ม: JButton grid; วงเล็บเหลี่ยมสองชุดมีไว้เพื่อบอกว่า JButton ในตารางถูกเก็บไว้ในรูปแบบสองมิติ หากมีวงเล็บเหลี่ยมเพียงชุดเดียว มันก็จะเป็นเพียงเส้นของ JButton ซึ่งยังคงใช้งานได้อยู่ ง่ายต่อการอ้างอิงว่าปุ่มใดกำลังสร้างหรือโต้ตอบด้วยเมื่อเป็นสองมิติ
    2. JButton ได้รับการตั้งชื่อแล้ว แต่เรายังต้องบอกว่ามีกี่ปุ่ม คุณต้องเพิ่มบรรทัดของโค้ดในตัวสร้างที่กำหนดจำนวน: grid=new JButton[width][length];
    3. ตอนนี้กำหนดได้แล้วว่าจะมีปุ่มจำนวนหนึ่ง ต้องสร้างแต่ละปุ่ม วิธีที่ง่ายที่สุดในการทำเช่นนี้คือใช้ลูปสองอัน อันหนึ่งสำหรับแกน x อีกอันสำหรับแกน y ภายในสองลูป เราสร้างปุ่มใหม่ และเพื่อความสะดวกในการอ้างอิง ตัวอย่างจะใส่ข้อความในแต่ละปุ่ม เพื่อให้เรารู้ว่าปุ่มใดในอาร์เรย์สองมิติคือตำแหน่งใด ในการสร้างปุ่ม ภายในลูป คุณต้องใส่ grid[x][y] = new JButton ("("+x+", "+y+")");

      สร้าง GUI Grid ใน Java ขั้นตอนที่7
      สร้าง GUI Grid ใน Java ขั้นตอนที่7

      ขั้นตอนที่ 7 เพิ่มปุ่มลงในเฟรม

      ภายในลูปเราจำเป็นต้องวางปุ่มบนเฟรมด้วยคำสั่งง่ายๆ: frame.add(grid[x][y]);

      สร้าง GUI Grid ใน Java ขั้นตอนที่8
      สร้าง GUI Grid ใน Java ขั้นตอนที่8

      ขั้นตอนที่ 8 สร้างอินสแตนซ์ ButtonGrid

      ในประเภทคลาสหลักของคุณ: new ButtonGrid(3, 3); เลขสองสามเป็นตารางขนาด 3 คูณ 3 และสามารถใส่เลขบวกสองตัวใดๆ ลงไปได้

      สร้าง GUI Grid ใน Java ขั้นตอนที่9
      สร้าง GUI Grid ใน Java ขั้นตอนที่9

      ขั้นตอนที่ 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 พารามิเตอร์}

แนะนำ: