Ir ao conteúdo
  • Cadastre-se

Interface Gráfica em Java (GridLayout)


Posts recomendados

Guys, como eu faço pra organizar esses labels e txts, eu quero que eles fiquem padrão, alinhados; tipo o primeiro o label e depois o txt, exemplo: Nome: ______________ ; e também que os jbuttons ficassem abaixo;

package testwindows;

import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;

public class TestWindows {
    //private JDialog caixa;
    public static void main(String[] args) {
    
        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //Mostra Botão de Fechar do Sistema
        frame.setSize(500, 450); // Define tamanho da Janela
        frame.setLocation(700,300); //Centraliza a Janela
          
        // Menus
        JMenu menuAluno = new JMenu("Aluno");
        JMenu menuProfessor = new JMenu("Professor");
        JMenu menuCurso = new JMenu("Curso");
        JMenu menuSistema = new JMenu("Sistema");
        JMenuBar barraMenu = new JMenuBar();
        
        //Itens Menu Aluno
        JMenuItem itemCadastrarAluno = new JMenuItem("Cadastrar");//Adiciona interação rel ao item/método "cadastrar" de "Aluno"
        itemCadastrarAluno.addActionListener(new ActionListener(){
            @Override
            public void actionPerformed(ActionEvent e){
            JDialog caixacadastraraluno = new JDialog(frame); //Instancia uma nova caixa de diálogo para 
        caixacadastraraluno.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); //Mostra Botão de fechar da Caixa?
        caixacadastraraluno.setBounds(675, 400, 550, 150); //Define o tamanho da caixa
        caixacadastraraluno.setTitle("Cadastrar Aluno"); //Define o título da caixa
        caixacadastraraluno.setModal(true); // Perguntar a professora; //Seria pra ter caixs com modos diferentes também?
        caixacadastraraluno.setResizable(true); //Redimenciona a caixa
        JLabel nomealuno = new JLabel(" Nome: "); //Instancia um novo rótulo
        JLabel cpfaluno = new JLabel(" CPF:"); //Instancia um novo rótulo
        JLabel idadealuno = new JLabel(" Idade: "); //Instancia um novo rótulo
        JLabel cursoaluno = new JLabel(" Curso: "); //Instancia um novo rótulo
        JPanel painelcadastraraluno = new JPanel(); //Instancia um novo painel para "Cadastro Aluno"
        painelcadastraraluno.add(nomealuno); // Adiciona o rótulo "nomealuno" ao painel
        painelcadastraraluno.add(cpfaluno); // Adiciona o rótulo "cpfaluno" ao painel
        painelcadastraraluno.add(idadealuno); // Adiciona o rótulo "idadealuno" ao painel
        painelcadastraraluno.add(cursoaluno); // Adiciona o rótulo "cursoaluno" ao painel
        caixacadastraraluno.add(painelcadastraraluno); // A caixa adiciona o painel
        JTextField txtcadastrarnomealuno = new JTextField();
        JTextField txtcadastrarcpfaluno = new JTextField();
        JTextField txtcadastraridadealuno = new JTextField();
        JTextField txtcadastrarcursoaluno = new JTextField();
        painelcadastraraluno.add(txtcadastrarnomealuno); // Adiciona um bloco de txt pra "nomealuno"
        painelcadastraraluno.add(txtcadastraridadealuno); // Adiciona um bloco de txt pra "cpfaluno"
        painelcadastraraluno.add(txtcadastraridadealuno); // Adiciona um bloco de txt pra "idadealuno"
        painelcadastraraluno.add(txtcadastrarcursoaluno); // Adiciona um bloco de txt pra "cursoaluno"
        JButton btcadastraraluno = new JButton("Cadastrar"); //Instancia o botão "Cadastrar" 
        JButton btcancelarcadastraraluno = new JButton("Cancelar"); //Instancia o botão "Cancelar"
        
        painelcadastraraluno.add(btcadastraraluno); //Adiciona o botão "Cadastrar" ao painel
        painelcadastraraluno.add(btcancelarcadastraraluno); ////Adiciona o botão "Cancelar" ao painel
        painelcadastraraluno.setLayout(new GridLayout(4,2)); //Tipo do painel
        caixacadastraraluno.setVisible(true);// Mostra a caixa
            }
        });

590f659077649_Screenshot2017-05-0621_37_08.png.276a855ad826c3bef8a81509977e50a2.png

 

Gostaria que ficasse assim, mas não sei como;

590f65edc9a84_Screenshot2017-05-0715_21_40.png.f38f7e28e87c62488f835320b5417877.png

Link para o comentário
Compartilhar em outros sites

@DoodohRafael GridBagLayout é bem complicado aqui de ter dar um exemplo. Provavelmente você ainda ficaria com cara de paisagem e iria me xingar :exorcize:

 

Recomendo dar uma lida aqui: http://javafree.uol.com.br/artigo/5792/Tudo-sobre-o-GridBagLayout.html

Se o seu inglês estiver em dia, dê uma olhada no tutorial da Oracle a respeito: http://docs.oracle.com/javase/tutorial/uiswing/layout/gridbag.html

 

Estudando esses links você vai conseguir fazer a tela como o desejado.

 

Eu não tenho muita familiaridade com isso pois programo para Web e quando preciso fazer algo em Swing, uso o editor de layout do Netbeans com o famoso arrastar e soltar componentes.

 

PS.: não aconselho fazer a tela no Netbeans para tentar copiar o código auto-gerado do layout. É uma zona, totalmente ilegível e ninguém em sã consciência faria aquilo. Esse código só serve mesmo para a IDE se achar.

 

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!