Как да направите GUI Grid в Java (със снимки)

Съдържание:

Как да направите GUI Grid в Java (със снимки)
Как да направите GUI Grid в Java (със снимки)

Видео: Как да направите GUI Grid в Java (със снимки)

Видео: Как да направите GUI Grid в Java (със снимки)
Видео: ФИЛЬМ ВЗОРВАЛ МИР! БОГАТЫЙ НАСЛЕДНИК СТРОИТЕЛЬНОЙ КОМПАНИИ! Не оглядывайся назад! Русские сериалы 2024, Може
Anonim

Grid не прави нищо особено на този етап, но с малко проучване можете да добавите слушатели на действие и малко логика, за да направите проста 2D игра като тик-так-то или по-сложни като Battleship.

Забележка: Тази статия използва Eclipse за всички примери, така че нещата може да са различни в зависимост от вашата IDE. Това трябва да е много подобно на това, от което се нуждаете в JCreator, но е доста безполезно за IDE, базирана на графичен интерфейс като NetBeans, главно поради метода на плъзгане и пускане на NetBeans.

Стъпки

Направете GUI Grid в Java Стъпка 1
Направете GUI Grid в Java Стъпка 1

Стъпка 1. Създайте Java проект

Това е доста просто. Включете вашата IDE и създайте нов проект. Наречете го както пожелаете. Примерът ще бъде buttongrid.

Това име няма никакво значение, тъй като ще бъде дадено само името на файла

Направете GUI Grid в Java Стъпка 2
Направете GUI Grid в Java Стъпка 2

Стъпка 2. Създайте Java клас с основен метод

Създайте нов клас и го кръстете както искате. Примерът ще бъде buttongrid. За потребител на 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, позволяващ много различни мрежи от бутони да имат отделна информация. Всички конструктори трябва да бъдат кръстени по същия начин като техния клас. Конструкторите не се нуждаят от нищо преди него, но „обществено“често се поставя там за улеснение. Конструкторите често се поставят като първи метод в клас, така че той отива веднага след името на класа, но трябва да бъде поставен в рамките на класа. Конструкторът buttongrid се нуждае от параметри, които се поставят в скоби след името на конструктора. Параметрите в този пример са цели числа 'x' и 'y'.

Направете GUI Grid в Java Стъпка 5
Направете GUI Grid в Java Стъпка 5

Стъпка 5. Създайте рамка:

  1. Рамката трябва да бъде кръстена. За да сте сигурни, че може да се позовава извън метода на конструктора ButtonGrid, го поставяте извън този метод, но в рамките на класа. Повечето променливи са кръстени в горната част на класа точно преди конструктора. За да създадете нова рамка, въведете: JFrame frame = new JFrame ();
  2. Вътре в метода на конструктора трябва да се уверим, че всички бутони са поставени в оформлението на мрежата. За целта задаваме оформлението на рамката, като въвеждаме: frame.setLayout (нов 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 решетка; Двата набора квадратни скоби са там, за да кажат, че JButton в мрежата се съхраняват в двуизмерен формат, ако имаше само един набор от квадратни скоби, това би било просто линия от JButton, която все още работи, това е просто по-лесно е да се посочи кой бутон се създава или взаимодейства с него, когато е двуизмерен.
    2. JButton's са кръстени, но все пак трябва да кажем колко бутони има. Трябва да добавите ред код в конструктора, който задава сумата: grid = new JButton [width] [length];
    3. Сега, когато е определено, че ще има определен брой бутони, всеки трябва да бъде създаден. Най-лесният начин да направите това е с два за цикли, един за оста x, един за оста y. Вътре в двата цикъла правим нов бутон, а за по-лесно справяне примерът поставя текст във всеки бутон, така че да знаем кой бутон в двуизмерния масив е къде. За да създадете бутон, вътре в цикъла трябва да поставите решетка [x] [y] = нов 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 Instance

      Във вашия основен клас: нов ButtonGrid (3, 3); Двете тройки правят мрежа 3 на 3 и всякакви две положителни числа могат да бъдат поставени там.

      Направете GUI Grid в Java Стъпка 9
      Направете GUI Grid в Java Стъпка 9

      Стъпка 9. Стартирайте програмата

      За да направите това в eclipse, натиснете Ctrl+F11

      Метод 1 от 1: Стъпки код

      Основният клас:

      публичен клас ButtonGrid {public static void main (String args) {}}

      Внос:

      импортиране на javax.swing. JFrame; импортиране на javax.swing. JButton; импортиране на java.awt. GridLayout; публичен клас ButtonGrid {…

      Код на конструктора:

      публичен клас ButtonGrid {public ButtonGrid (int width, int length) {}}…

      Код на рамката:

      публичен клас ButtonGrid {JFrame frame = new Jframe (); публичен ButtonGrid (int ширина, int дължина) {frame.setLayout (нов GridLayout (ширина, дължина)); frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE); frame.pack (); frame.setVisible (true); }}…

      Код на мрежата на бутоните:

      | JFrame frame = нов JFrame (); // създава рамка JButton решетка; // именува мрежата от бутони публичен ButtonGrid (int width, int length) {// конструктор с 2 параметъра frame.setLayout (нов GridLayout (ширина, дължина)); // задайте оформление на рамкова решетка = нов JButton [ширина] [дължина]; // разпределя размера на мрежата за (int y = 0; y <дължина; y ++) {за (int x = 0; x <ширина; x ++) {grid [x] [y] = нов JButton ("("+ x+","+y+")"); frame.add (решетка [x] [y]); // добавя бутон към мрежата}} frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE); frame.pack (); frame.setVisible (true); }…

      Добавяне на бутони към рамката:

      for (int y = 0; y <length; y ++) {for (int x = 0; x <width; x ++) {grid [x] [y] = нов JButton ("("+x+","+y+") "); frame.add (решетка [x] [y]); }}…

      Създаване на екземпляр на мрежа от бутони:

      публичен static void main (String args) {new ButtonGrid (3, 3); // прави нов ButtonGrid с 2 параметъра}…

      Окончателен код:

      импортиране на javax.swing. JFrame; // импортира JFrame библиотека import javax.swing. JButton; // импортира JButton библиотека import java.awt. GridLayout; // импортира публичния клас на библиотеката GridLayout ButtonGrid {JFrame frame = new JFrame (); // създава рамка JButton решетка; // именува мрежата от бутони публичен ButtonGrid (int width, int length) {// конструктор frame.setLayout (нов GridLayout (ширина, дължина)); // задаване на мрежа за оформление = нов JButton [ширина] [дължина]; // разпределя размера на мрежата за (int y = 0; y <дължина; y ++) {за (int x = 0; x <ширина; x ++) {grid [x] [y] = нов JButton ("("+ x+","+y+")"); // създава нов бутон frame.add (решетка [x] [y]); // добавя бутон към мрежата}} frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE); frame.pack (); // задава подходящ размер за frame frame.setVisible (true); // прави рамката видима} публичен static void main (String args) {new ButtonGrid (3, 3); // прави нов ButtonGrid с 2 параметъра}}

      импортиране на javax.swing. JFrame; // импортира JFrame библиотека import javax.swing. JButton; // импортира JButton библиотека import java.awt. GridLayout; // импортира библиотека GridLayout

      публичен клас ButtonGrid {

      JFrame frame = нов JFrame (); // създава рамка JButton решетка; // именува мрежата от бутони

      публичен ButtonGrid (int width, int length) {// конструктор frame.setLayout (нов GridLayout (ширина, дължина)); // задаване на мрежа за оформление = нов JButton [ширина] [дължина]; // разпределя размера на мрежата за (int y = 0; y <дължина; y ++) {за (int x = 0; x <ширина; x ++) {grid [x] [y] = нов JButton ("("+ x+","+y+")"); // създава нов бутон frame.add (решетка [x] [y]); // добавя бутон към мрежата}} frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE); frame.pack (); // задава подходящ размер за frame frame.setVisible (true); // прави рамката видима} публичен static void main (String args) {new ButtonGrid (3, 3); // прави нов ButtonGrid с 2 параметъра}

Препоръчано: