Jak zrobić siatkę GUI w Javie (ze zdjęciami)

Spisu treści:

Jak zrobić siatkę GUI w Javie (ze zdjęciami)
Jak zrobić siatkę GUI w Javie (ze zdjęciami)

Wideo: Jak zrobić siatkę GUI w Javie (ze zdjęciami)

Wideo: Jak zrobić siatkę GUI w Javie (ze zdjęciami)
Wideo: Inkscape Custom Brushes: How to Make and Use Brush Sets Tutorial 2024, Może
Anonim

Na tym etapie The Grid nie robi nic specjalnego, ale przy odrobinie badań możesz dodać słuchaczy akcji i trochę logiki, aby stworzyć prostą grę 2D, taką jak kółko i krzyżyk, lub bardziej skomplikowane, takie jak Battleship.

Uwaga: ten artykuł używa środowiska Eclipse we wszystkich przykładach, więc rzeczy mogą się różnić w zależności od twojego IDE. Powinno to być bardzo podobne do tego, czego potrzebujesz w JCreator, ale jest raczej bezużyteczne dla IDE opartego na GUI, takiego jak NetBeans, głównie ze względu na metodę przeciągnij i upuść NetBeans.

Kroki

Utwórz siatkę GUI w Javie Krok 1
Utwórz siatkę GUI w Javie Krok 1

Krok 1. Utwórz projekt Java

To dość proste. Włącz swoje IDE i utwórz nowy projekt. Nazywaj to jak chcesz. Przykładem będzie siatka przycisków.

Ta nazwa tak naprawdę nie ma znaczenia, ponieważ jest to tylko nazwa pliku, który zostanie nadany

Utwórz siatkę GUI w Javie Krok 2
Utwórz siatkę GUI w Javie Krok 2

Krok 2. Utwórz klasę Java za pomocą metody głównej

Utwórz nową klasę i nazwij ją, jak chcesz. Przykładem będzie siatka przycisków. Dla użytkownika Eclipse będziesz chciał zaznaczyć pole o nazwie public static void main(string args), dzięki czemu nie będziesz musiał go wpisywać przy starcie.

Ta nazwa jest ważniejsza niż poprzednia, ponieważ będzie musiała być pojedynczym słowem, w przeciwnym razie nie będzie można jej użyć

Utwórz siatkę GUI w Javie Krok 3
Utwórz siatkę GUI w Javie Krok 3

Krok 3. Importuj biblioteki

Daje to wszystkie informacje potrzebne do napisania kodu do tego kodu. Musisz zaimportować javax.swing. JFrame, javax.swing. JButton i java.awt. Gridlayout. Są one umieszczane przed rozpoczęciem zajęć, gdzieś w wierszach od 1 do 3, kolejność ich występowania nie ma znaczenia.

Utwórz siatkę GUI w Javie Krok 4
Utwórz siatkę GUI w Javie Krok 4

Krok 4. Utwórz konstruktora

Konstruktor tworzy nową instancję klasy buttongrid, dzięki czemu wiele różnych siatek przycisków ma oddzielne informacje. Wszystkie konstruktory muszą mieć taką samą nazwę jak ich klasa. Konstruktorzy nie potrzebują niczego przed tym, ale często umieszcza się tam słowo „publiczne” dla ułatwienia odniesienia. Konstruktory są często umieszczane jako pierwsza metoda w klasie, więc znajduje się zaraz po nazwie klasy, jednak musi być umieszczona w klasie. Konstruktor buttongrid potrzebuje parametrów, które są umieszczane w nawiasach po nazwie konstruktora. Parametry w tym przykładzie to liczby całkowite „x” i „y”.

Utwórz siatkę GUI w Javie Krok 5
Utwórz siatkę GUI w Javie Krok 5

Krok 5. Utwórz ramkę:

  1. Rama musi być nazwana. Aby upewnić się, że można się do niego odwoływać poza metodą konstruktora ButtonGrid, umieść go poza tą metodą, ale w klasie. Większość zmiennych jest nazwanych na początku klasy, tuż przed konstruktorem. Aby utworzyć nową ramkę wpisz: JFrame frame = new JFrame();
  2. Wewnątrz metody konstruktora musimy upewnić się, że wszystkie przyciski są umieszczone w układzie siatki. W tym celu ustawiamy układ ramki wpisując: frame.setLayout(new GridLayout(x, y));
  3. Niekoniecznie obowiązkowo, ale aby ramka była zamknięta po naciśnięciu przycisku „x” w prawym górnym rogu, musimy dodać linię: frame.setDefaultCloseOperation(JFrame. EXIT_ON_CLOSE);
  4. Aby ramka miała odpowiedni rozmiar, tak aby wszystko pasowało, musimy uruchomić polecenie pack: frame.pack();
  5. Na koniec ramka musi być widoczna: frame.setVisible(true);

    Utwórz siatkę GUI w Javie Krok 6
    Utwórz siatkę GUI w Javie Krok 6

    Krok 6. Utwórz siatkę przycisków:

    1. Przyciski, z którymi użytkownik wchodzi w interakcję, muszą zostać wykonane, ale ponieważ nie wiemy, ile potrzebujemy, musimy je najpierw nazwać. Tak więc tuż pod linią, w której tworzysz ramkę, utwórz przyciski: JButton grid; Dwa zestawy nawiasów kwadratowych mają powiedzieć, że JButton w siatce są przechowywane w formacie dwuwymiarowym, gdyby był tylko jeden zestaw nawiasów kwadratowych, to byłaby to po prostu linia JButton, która nadal działa, to tylko łatwiej odnieść się do tego, który przycisk jest tworzony lub z którym wchodzi w interakcję, gdy jest dwuwymiarowy.
    2. Przyciski JButton zostały nazwane, ale nadal musimy powiedzieć, ile jest przycisków. Musisz dodać wiersz kodu w konstruktorze, który ustawia kwotę: grid=new JButton[szerokość][długość];
    3. Teraz, gdy ustalono, że będzie określona liczba przycisków, każdy musi zostać utworzony. Najłatwiej to zrobić za pomocą dwóch pętli for, jednej dla osi x i jednej dla osi y. Wewnątrz tych dwóch pętli tworzymy nowy przycisk, a dla ułatwienia przykład umieszcza tekst wewnątrz każdego przycisku, dzięki czemu wiemy, który przycisk w dwuwymiarowej tablicy jest gdzie. Aby utworzyć przycisk, wewnątrz pętli musisz umieścić grid[x][y] = new JButton ("("+x+", "+y+")");

      Utwórz siatkę GUI w Javie Krok 7
      Utwórz siatkę GUI w Javie Krok 7

      Krok 7. Dodaj przyciski do ramki

      Wewnątrz pętli musimy umieścić przyciski na ramce za pomocą prostego polecenia: frame.add(grid[x][y]);

      Utwórz siatkę GUI w Javie Krok 8
      Utwórz siatkę GUI w Javie Krok 8

      Krok 8. Utwórz instancję ButtonGrid

      W twojej głównej klasie wpisz: new ButtonGrid(3, 3); Dwie trójki tworzą siatkę 3 na 3 i można w niej umieścić dowolne dwie liczby dodatnie.

      Utwórz siatkę GUI w Javie Krok 9
      Utwórz siatkę GUI w Javie Krok 9

      Krok 9. Uruchom program

      Aby to zrobić w trybie Eclipse, naciśnij Ctrl+F11

      Metoda 1 z 1: Kod kroków

      Główna klasa:

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

      Import:

      importowanie javax.swing. JFrame; import javax.swing. JButton; import java.awt. GridLayout; klasa publiczna ButtonGrid { …

      Kod konstruktora:

      public class ButtonGrid { public ButtonGrid (szerokość int, długość int) { } } …

      Kod ramki:

      public class ButtonGrid { JFrame frame=new Jframe(); public ButtonGrid(int width, int length){ frame.setLayout(new GridLayout(szerokość, długość)); frame.setDefaultCloseOperation(JFrame. EXIT_ON_CLOSE); ramka.pack(); frame.setVisible(prawda); } } …

      Kod siatki przycisków:

      |JFrame=nowa JFrame(); //tworzy ramkę JButton grid; //nazywa siatkę przycisków public ButtonGrid(int width, int length){ //konstruktor z 2 parametrami frame.setLayout(new GridLayout(width, length)); //ustaw układ ramki grid=new JButton[szerokość][długość]; //przydziel rozmiar siatki for(int y=0; y<długość; y++){ for(int x=0; x<szerokość; x++){ grid[x][y]=new JButton("("+ x+", "+y+")"); frame.add(siatka[x][y]); //dodaje przycisk do siatki } } frame.setDefaultCloseOperation(JFrame. EXIT_ON_CLOSE); ramka.pack(); frame.setVisible(prawda); } …

      Dodawanie przycisków do ramki:

      for(int y=0; y<długość; y++){ for(int x=0; x<szerokość; x++){ grid[x][y]=new JButton("("+x+", "+y+")"); frame.add(siatka[x][y]); } } …

      Tworzenie instancji siatki przycisków:

      public static void main(String args) { new ButtonGrid(3, 3);// tworzy nowy ButtonGrid z 2 parametrami } …

      Kod końcowy:

      importowanie javax.swing. JFrame; //importuje bibliotekę JFrame import javax.swing. JButton; //importuje bibliotekę JButton import java.awt. GridLayout; //importuje klasę publiczną biblioteki GridLayout ButtonGrid { JFrame frame=new JFrame(); //tworzy ramkę JButton grid; //nazywa siatkę przycisków public ButtonGrid(int width, int length){ //constructor frame.setLayout(new GridLayout(width, length)); //ustaw układ grid=new JButton[szerokość][długość]; //przydziel rozmiar siatki for(int y=0; y<długość; y++){ for(int x=0; x<szerokość; x++){ grid[x][y]=new JButton("("+ x+", "+y+")"); //tworzy nową ramkę przycisku.add(grid[x][y]); //dodaje przycisk do siatki } } frame.setDefaultCloseOperation(JFrame. EXIT_ON_CLOSE); ramka.pack(); //ustawia odpowiedni rozmiar ramki frame.setVisible(true); //uwidacznia ramkę } public static void main(String args) { new ButtonGrid(3, 3);//ustawia nową ButtonGrid z 2 parametrami } }

      importowanie javax.swing. JFrame; //importuje bibliotekę JFrame import javax.swing. JButton; //importuje bibliotekę JButton import java.awt. GridLayout; //importuje bibliotekę GridLayout

      klasa publiczna ButtonGrid {

      Ramka JFrame=nowa JFrame(); //tworzy ramkę JButton grid; //nazywa siatkę przycisków

      public ButtonGrid(int width, int length){ //constructor frame.setLayout(new GridLayout(szerokość, długość)); //ustaw układ grid=new JButton[szerokość][długość]; //przydziel rozmiar siatki for(int y=0; y<długość; y++){ for(int x=0; x<szerokość; x++){ grid[x][y]=new JButton("("+ x+", "+y+")"); //tworzy nową ramkę przycisku.add(grid[x][y]); //dodaje przycisk do siatki } } frame.setDefaultCloseOperation(JFrame. EXIT_ON_CLOSE); ramka.pack(); //ustawia odpowiedni rozmiar ramki frame.setVisible(true); //uwidacznia ramkę } public static void main(String args) { new ButtonGrid(3, 3);//ustawia nową ButtonGrid z 2 parametrami }

Zalecana: