Làm thế nào để tạo một GUI Grid trong Java (với Hình ảnh)

Mục lục:

Làm thế nào để tạo một GUI Grid trong Java (với Hình ảnh)
Làm thế nào để tạo một GUI Grid trong Java (với Hình ảnh)

Video: Làm thế nào để tạo một GUI Grid trong Java (với Hình ảnh)

Video: Làm thế nào để tạo một GUI Grid trong Java (với Hình ảnh)
Video: Inkscape Tutorial - Use Brush Patterns in your Designs 2024, Có thể
Anonim

Grid không có gì đặc biệt ở giai đoạn này, nhưng với một chút nghiên cứu, bạn có thể thêm thính giả hành động và một chút logic để tạo ra một trò chơi 2D đơn giản như tic-tac-toe hoặc những trò phức tạp hơn như Battleship.

Lưu ý: Bài viết này sử dụng Eclipse cho tất cả các ví dụ nên mọi thứ có thể khác nhau tùy thuộc vào IDE của bạn. Điều này sẽ rất giống với những gì bạn cần trong JCreator, nhưng nó khá vô dụng đối với một IDE dựa trên GUI như NetBeans, chủ yếu là do phương pháp kéo và thả của NetBeans.

Các bước

Tạo lưới GUI trong Java Bước 1
Tạo lưới GUI trong Java Bước 1

Bước 1. Tạo một dự án Java

Điều này khá đơn giản. Bật IDE của bạn và tạo một dự án mới. Hãy gọi nó là những gì bạn muốn. Ví dụ sẽ là mông.

Tên này không thực sự quan trọng vì nó chỉ là tên tệp mà nó sẽ được cung cấp

Tạo lưới GUI trong Java Bước 2
Tạo lưới GUI trong Java Bước 2

Bước 2. Tạo một lớp Java với một phương thức chính

Tạo một lớp mới và đặt tên nó theo ý bạn muốn. Ví dụ sẽ là mông. Đối với người dùng Eclipse, bạn sẽ muốn đánh dấu vào hộp có tên public static void main (string args), vì vậy bạn sẽ không phải nhập nó khi bắt đầu.

Tên này quan trọng hơn tên trước vì nó sẽ phải là một từ duy nhất nếu không sẽ không sử dụng được

Tạo lưới GUI trong Java Bước 3
Tạo lưới GUI trong Java Bước 3

Bước 3. Nhập thư viện

Điều này mang tất cả thông tin bạn sẽ cần để viết mã của mình vào mã này. Bạn sẽ cần nhập javax.swing. JFrame, javax.swing. JButton và java.awt. Gridlayout. Chúng được đặt trước khi bắt đầu lớp học, ở đâu đó trên các dòng từ 1 đến 3, thứ tự của chúng ở đó không quan trọng.

Tạo GUI Grid trong Java Bước 4
Tạo GUI Grid trong Java Bước 4

Bước 4. Tạo một phương thức khởi tạo

Hàm tạo tạo ra một thể hiện mới của lớp Butongrid cho phép nhiều lưới nút khác nhau đều có thông tin riêng biệt. Tất cả các hàm tạo cần được đặt tên giống như lớp của chúng. Các nhà xây dựng không cần bất cứ thứ gì trước nó, nhưng 'công khai' thường được đặt ở đó để dễ tham khảo. Các hàm tạo thường được đặt làm phương thức đầu tiên trong một lớp, vì vậy nó đi ngay sau tên lớp, tuy nhiên, nó phải được đặt bên trong lớp. Hàm khởi tạo Butongrid cần các tham số, các tham số này được đặt trong dấu ngoặc sau tên của hàm tạo. Các tham số trong ví dụ này là các số nguyên 'x' và 'y'.

Tạo GUI Grid trong Java Bước 5
Tạo GUI Grid trong Java Bước 5

Bước 5. Tạo khung:

  1. Khung phải được đặt tên. Để đảm bảo rằng nó có thể được tham chiếu bên ngoài phương thức khởi tạo ButtonGrid, bạn đặt nó bên ngoài phương thức đó, nhưng bên trong lớp. Hầu hết các biến được đặt tên ở đầu lớp ngay trước hàm tạo. Để tạo khung mới bạn gõ: JFrame frame = new JFrame ();
  2. Bên trong phương thức khởi tạo, chúng ta cần đảm bảo rằng tất cả các nút được đặt trong bố cục lưới. Để làm điều này, chúng tôi thiết lập bố cục của khung bằng cách gõ: frame.setLayout (new GridLayout (x, y));
  3. Không nhất thiết là bắt buộc, nhưng để đóng khung khi bạn nhấn nút 'x' ở góc trên cùng bên phải, chúng ta cần thêm dòng: frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE);
  4. Để làm cho khung có kích thước phù hợp để mọi thứ đều phù hợp, chúng ta cần chạy lệnh pack: frame.pack ();
  5. Cuối cùng đối với khung, chúng ta cần làm cho nó có thể nhìn thấy được: frame.setVosystem (true);

    Tạo GUI Grid trong Java Bước 6
    Tạo GUI Grid trong Java Bước 6

    Bước 6. Tạo lưới nút:

    1. Các nút mà người dùng tương tác với cần phải được tạo ra, nhưng vì chúng tôi không biết mình cần bao nhiêu, nên chúng phải được đặt tên trước. Vì vậy, ngay bên dưới dòng nơi bạn tạo khung, hãy tạo các nút: JButton grid; Hai bộ dấu ngoặc vuông ở đó để nói rằng JButton trong lưới được giữ ở định dạng hai chiều, nếu chỉ có một bộ dấu ngoặc vuông thì nó sẽ đơn giản là một dòng của JButton, vẫn hoạt động, nó chỉ là dễ dàng hơn để tham khảo nút nào đang được tạo hoặc tương tác khi nó là hai chiều.
    2. Các JButton đã được đặt tên, nhưng chúng ta vẫn phải nói có bao nhiêu nút. Bạn cần thêm một dòng mã trong hàm tạo đặt số lượng: grid = new JButton [width] [length];
    3. Bây giờ nó đã được xác định rằng sẽ có một số nút nhất định, mỗi nút phải được tạo. Cách dễ nhất để làm điều này là với hai vòng lặp for, một cho trục x, một cho trục y. Bên trong hai vòng lặp, chúng ta tạo một nút mới và để dễ tham khảo, ví dụ đặt văn bản bên trong mỗi nút để chúng ta biết nút nào trong mảng hai chiều nằm ở đâu. Để tạo một nút, bên trong vòng lặp bạn cần đặt grid [x] [y] = new JButton ("(" + x + "," + y + ")");

      Tạo GUI Grid trong Java Bước 7
      Tạo GUI Grid trong Java Bước 7

      Bước 7. Thêm các nút vào khung

      Bên trong vòng lặp, chúng ta cần đặt các nút vào khung bằng một lệnh đơn giản: frame.add (grid [x] [y]);

      Tạo lưới GUI trong Java Bước 8
      Tạo lưới GUI trong Java Bước 8

      Bước 8. Tạo phiên bản ButtonGrid

      Trong lớp chính của bạn, nhập: new ButtonGrid (3, 3); Hai số ba tạo thành là một lưới 3 x 3, và hai số dương bất kỳ có thể được đặt vào đó.

      Tạo GUI Grid trong Java Bước 9
      Tạo GUI Grid trong Java Bước 9

      Bước 9. Chạy chương trình

      Để thực hiện việc này trong nhật thực, hãy nhấn Ctrl + F11

      Phương pháp 1/1: Mã bước

      Lớp chính:

      public class ButtonGrid {public static void main (String args) {}}

      Nhập khẩu:

      nhập javax.swing. JFrame; nhập javax.swing. JButton; nhập java.awt. GridLayout; lớp công khai ButtonGrid {…

      Mã xây dựng:

      public class ButtonGrid {public ButtonGrid (int width, int length) {}}…

      Mã khung:

      public class ButtonGrid {JFrame frame = new Jframe (); public ButtonGrid (int width, int length) {frame.setLayout (new GridLayout (width, length)); frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE); frame.pack (); frame.setVosystem (true); }}…

      Mã lưới nút:

      | JFrame frame = new JFrame (); // tạo khung JButton grid; // đặt tên cho lưới các nút public ButtonGrid (int width, int length) {// hàm tạo với 2 tham số frame.setLayout (new GridLayout (width, length)); // thiết lập bố cục của frame grid = new JButton [width] [length]; // phân bổ kích thước của lưới for (int y = 0; y <length; y ++) {for (int x = 0; x <width; x ++) {grid [x] [y] = new JButton ("(" + x + "," + y + ")"); frame.add (lưới [x] [y]); // thêm nút vào lưới}} frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE); frame.pack (); frame.setVosystem (true); }…

      Thêm các nút vào khung:

      for (int y = 0; y <length; y ++) {for (int x = 0; x <width; x ++) {grid [x] [y] = new JButton ("(" + x + "," + y + ") "); frame.add (lưới [x] [y]); }}…

      Tạo một phiên bản lưới nút:

      public static void main (String args) {new ButtonGrid (3, 3); // tạo ButtonGrid mới với 2 tham số}…

      Mã cuối cùng:

      nhập javax.swing. JFrame; // nhập thư viện JFrame import javax.swing. JButton; // nhập thư viện JButton import java.awt. GridLayout; // nhập thư viện GridLayout public class ButtonGrid {JFrame frame = new JFrame (); // tạo khung JButton grid; // đặt tên cho lưới các nút public ButtonGrid (int width, int length) {// constructor frame.setLayout (new GridLayout (width, length)); // thiết lập layout grid = new JButton [width] [length]; // phân bổ kích thước của lưới for (int y = 0; y <length; y ++) {for (int x = 0; x <width; x ++) {grid [x] [y] = new JButton ("(" + x + "," + y + ")"); // tạo nút mới frame.add (grid [x] [y]); // thêm nút vào lưới}} frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE); frame.pack (); // thiết lập kích thước thích hợp cho khung frame.setVosystem (true); // làm cho khung hiển thị} public static void main (String args) {new ButtonGrid (3, 3); // tạo mới ButtonGrid với 2 tham số}}

      nhập javax.swing. JFrame; // nhập thư viện JFrame import javax.swing. JButton; // nhập thư viện JButton import java.awt. GridLayout; // nhập thư viện GridLayout

      lớp công khai ButtonGrid {

      Khung JFrame = new JFrame (); // tạo khung JButton grid; // đặt tên cho lưới các nút

      public ButtonGrid (int width, int length) {// constructor frame.setLayout (new GridLayout (width, length)); // thiết lập layout grid = new JButton [width] [length]; // phân bổ kích thước của lưới for (int y = 0; y <length; y ++) {for (int x = 0; x <width; x ++) {grid [x] [y] = new JButton ("(" + x + "," + y + ")"); // tạo nút mới frame.add (grid [x] [y]); // thêm nút vào lưới}} frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE); frame.pack (); // thiết lập kích thước thích hợp cho khung frame.setVosystem (true); // làm cho khung hiển thị} public static void main (String args) {new ButtonGrid (3, 3); // tạo mới ButtonGrid với 2 tham số}

Đề xuất: