Como fazer uma grade GUI em Java (com imagens)

Índice:

Como fazer uma grade GUI em Java (com imagens)
Como fazer uma grade GUI em Java (com imagens)

Vídeo: Como fazer uma grade GUI em Java (com imagens)

Vídeo: Como fazer uma grade GUI em Java (com imagens)
Vídeo: Como colocar glifos nas fontes tipográficas no Inkscape 2024, Maio
Anonim

O Grid não faz nada de especial neste estágio, mas com um pouco de pesquisa, você pode adicionar ouvintes de ação e um pouco de lógica para fazer um jogo 2D simples como o jogo da velha ou outros mais complicados como o Battleship.

Nota: Este artigo usa Eclipse para todos os exemplos, então as coisas podem ser diferentes dependendo do seu IDE. Isso deve ser muito semelhante ao que você precisa no JCreator, mas é bastante inútil para um IDE baseado em GUI como o NetBeans, principalmente por causa do método de arrastar e soltar do NetBeans.

Passos

Faça uma grade GUI em Java Etapa 1
Faça uma grade GUI em Java Etapa 1

Etapa 1. Crie um projeto Java

Isso é bastante simples. Ligue seu IDE e crie um novo projeto. Chame como quiser. O exemplo será o buttongrid.

Este nome realmente não importa, pois é apenas o nome do arquivo que será fornecido

Faça uma grade de GUI em Java Etapa 2
Faça uma grade de GUI em Java Etapa 2

Etapa 2. Crie uma classe Java com um método principal

Crie uma nova classe e atribua-lhe o nome que desejar. O exemplo será o buttongrid. Para um usuário do Eclipse, você desejará abrir a caixa chamada public static void main (string args), portanto, não será necessário digitá-la ao iniciar.

Este nome é mais importante que o anterior porque terá que ser uma palavra única ou não será utilizável

Faça uma grade de GUI em Java Etapa 3
Faça uma grade de GUI em Java Etapa 3

Etapa 3. Importar bibliotecas

Isso traz todas as informações de que você precisa para escrever seu código neste código. Você precisará importar javax.swing. JFrame, javax.swing. JButton e java.awt. Gridlayout. Eles são colocados antes do início da aula, em algum lugar nas linhas de 1 a 3, a ordem em que estão lá não importa.

Faça uma grade de GUI em Java Etapa 4
Faça uma grade de GUI em Java Etapa 4

Etapa 4. Crie um construtor

O construtor cria uma nova instância da classe buttongrid, permitindo que muitas grades de botão diferentes tenham informações separadas. Todos os construtores precisam ser nomeados da mesma forma que sua classe. Os construtores não precisam de nada antes disso, mas 'público' é freqüentemente colocado lá para facilitar a referência. Os construtores são frequentemente colocados como o primeiro método em uma classe, então ele vai logo após o nome da classe, mas deve ser colocado dentro da classe. O construtor buttongrid precisa de parâmetros, que são colocados entre colchetes após o nome do construtor. Os parâmetros neste exemplo são inteiros 'x' e 'y'.

Faça uma grade de GUI em Java Etapa 5
Faça uma grade de GUI em Java Etapa 5

Etapa 5. Criar quadro:

  1. O quadro deve ser nomeado. Para ter certeza de que ele pode ser referenciado fora do método do construtor ButtonGrid, coloque-o fora desse método, mas dentro da classe. A maioria das variáveis é nomeada no topo da classe, logo antes do construtor. Para criar um novo quadro, você digita: JFrame frame = new JFrame ();
  2. Dentro do método construtor, precisamos ter certeza de que todos os botões são colocados no layout da grade. Para fazer isso, definimos o layout do quadro digitando: frame.setLayout (new GridLayout (x, y));
  3. Não necessariamente obrigatório, mas para fazer o quadro fechar quando você clicar no botão 'x' no canto superior direito, precisamos adicionar a linha: frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE);
  4. Para fazer com que o quadro tenha um tamanho adequado para que tudo se encaixe, precisamos executar o comando pack: frame.pack ();
  5. Por último, para o quadro, precisamos torná-lo visível: frame.setVisible (true);

    Faça uma grade de GUI em Java Etapa 6
    Faça uma grade de GUI em Java Etapa 6

    Etapa 6. Criar grade de botão:

    1. Os botões com os quais o usuário interage precisam ser feitos, mas como não sabemos de quantos precisamos, eles devem ser nomeados primeiro. Logo abaixo da linha onde você cria o quadro, crie os botões: JButton grade; Os dois conjuntos de colchetes estão lá para dizer que os JButton na grade são mantidos em um formato bidimensional, se houvesse apenas um conjunto de colchetes então seria simplesmente uma linha de JButton, que ainda funciona, é apenas mais fácil fazer referência a qual botão está sendo criado ou interagido quando é bidimensional.
    2. Os JButton foram nomeados, mas ainda temos que dizer quantos botões existem. Você precisa adicionar uma linha de código no construtor que define a quantidade: grid = new JButton [largura] [comprimento];
    3. Agora que foi determinado que haverá um certo número de botões, cada um deve ser criado. A maneira mais fácil de fazer isso é com dois loops for, um para o eixo x, um para o eixo y. Dentro dos dois loops, criamos um novo botão e, para facilitar a referência, o exemplo coloca o texto dentro de cada botão para que saibamos qual botão do array bidimensional está onde. Para criar um botão, dentro do loop você precisa colocar grid [x] [y] = new JButton ("(" + x + "," + y + ")");

      Faça uma grade GUI em Java Etapa 7
      Faça uma grade GUI em Java Etapa 7

      Etapa 7. Adicionar botões ao quadro

      Dentro do loop, precisamos colocar os botões no quadro com um comando simples: frame.add (grid [x] [y]);

      Faça uma grade de GUI em Java Etapa 8
      Faça uma grade de GUI em Java Etapa 8

      Etapa 8. Crie uma instância do ButtonGrid

      Em seu tipo de classe principal: new ButtonGrid (3, 3); Os dois três números formam uma grade de 3 por 3, e quaisquer dois números positivos podem ser colocados lá.

      Faça uma grade GUI em Java Etapa 9
      Faça uma grade GUI em Java Etapa 9

      Etapa 9. Execute o programa

      Para fazer isso no eclipse, pressione Ctrl + F11

      Método 1 de 1: Código de etapas

      A classe principal:

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

      Importações:

      import javax.swing. JFrame; import javax.swing. JButton; import java.awt. GridLayout; public class ButtonGrid {…

      Código do construtor:

      public class ButtonGrid {public ButtonGrid (largura interna, comprimento interno) {}}…

      Código do quadro:

      classe pública ButtonGrid {JFrame frame = new Jframe (); ButtonGrid público (largura interna, comprimento interno) {frame.setLayout (novo GridLayout (largura, comprimento)); frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE); frame.pack (); frame.setVisible (true); }}…

      Código da grade do botão:

      | Quadro JFrame = novo JFrame (); // cria o quadro JButton grade; // nomeia a grade de botões public ButtonGrid (int largura, comprimento interno) {// construtor com 2 parâmetros frame.setLayout (new GridLayout (largura, comprimento)); // definir o layout da grade do quadro = new JButton [largura] [comprimento]; // alocar o tamanho da grade para (int y = 0; y <comprimento; y ++) {for (int x = 0; x <largura; x ++) {grade [x] [y] = new JButton ("(" + x + "," + y + ")"); frame.add (grade [x] [y]); // adiciona botão à grade}} frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE); frame.pack (); frame.setVisible (true); }…

      Adicionando botões ao quadro:

      for (int y = 0; y <comprimento; y ++) {for (int x = 0; x <largura; x ++) {grade [x] [y] = novo JButton ("(" + x + "," + y + ") "); frame.add (grade [x] [y]); }}…

      Fazendo uma instância de grade de botão:

      public static void main (String args) {new ButtonGrid (3, 3); // cria um novo ButtonGrid com 2 parâmetros}…

      Código Final:

      import javax.swing. JFrame; // importa a biblioteca JFrame import javax.swing. JButton; // importa a biblioteca JButton import java.awt. GridLayout; // importa a biblioteca GridLayout public class ButtonGrid {JFrame frame = new JFrame (); // cria o quadro JButton grade; // nomeia a grade de botões public ButtonGrid (int largura, comprimento interno) {// construtor frame.setLayout (new GridLayout (largura, comprimento)); // definir grade de layout = new JButton [largura] [comprimento]; // alocar o tamanho da grade para (int y = 0; y <comprimento; y ++) {for (int x = 0; x <largura; x ++) {grade [x] [y] = new JButton ("(" + x + "," + y + ")"); // cria um novo botão frame.add (grid [x] [y]); // adiciona botão à grade}} frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE); frame.pack (); // define o tamanho apropriado para o frame frame.setVisible (true); // torna o quadro visível} public static void main (String args) {new ButtonGrid (3, 3); // cria um novo ButtonGrid com 2 parâmetros}}

      import javax.swing. JFrame; // importa a biblioteca JFrame import javax.swing. JButton; // importa a biblioteca JButton import java.awt. GridLayout; // importa a biblioteca GridLayout

      public class ButtonGrid {

      Frame JFrame = novo JFrame (); // cria o quadro JButton grade; // nomeia a grade de botões

      public ButtonGrid (largura interna, comprimento interno) {// construtor frame.setLayout (new GridLayout (largura, comprimento)); // definir grade de layout = new JButton [largura] [comprimento]; // alocar o tamanho da grade para (int y = 0; y <comprimento; y ++) {for (int x = 0; x <largura; x ++) {grade [x] [y] = new JButton ("(" + x + "," + y + ")"); // cria um novo botão frame.add (grid [x] [y]); // adiciona botão à grade}} frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE); frame.pack (); // define o tamanho apropriado para o frame frame.setVisible (true); // torna o quadro visível} public static void main (String args) {new ButtonGrid (3, 3); // cria um novo ButtonGrid com 2 parâmetros}

Recomendado: