Olá,
Estou com dúvidas pra montar a organização da janela para um sistema que estou fazendo para treinar programação.
Eu gostaria de fazer 1 jlabel e 1 jtextfield na mesma linha, a cada linha.
E por último os botões, embaixo.
Esta quase montado do jeito que quero, mas a tela para 1 JLabel e 1 JTextfield não está saindo como eu queria, pois não sai o conjunto “label” + “textfield” em cada linha. Não sei como fazer, estou tentando. Está aparecendo mais de 2 campos por linha, conforme está na imagem:
Alguém pode dar uma dica de como arrumar pra sair 1 label e 1 textfield por linha e os botões serem mantidos lá embaixo mesmo?
Código:
import java.awt.Container;
import java.awt.GridLayout;
import java.awt.BorderLayout;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import javax.swing.JPanel;
public class Sistema extends JFrame{
JButton novo = new JButton("Novo");
JButton gravar = new JButton("Gravar");
JButton editar = new JButton("Editar");
JButton apagar = new JButton("Apagar");
JButton sair = new JButton("Sair");
JTextField clienteId = new JTextField(); // Código do cliente
JTextField nomeCliente = new JTextField(); // Nome
JTextField ruaCliente = new JTextField(); // Rua
JTextField numeroCliente = new JTextField(); // Número
JTextField bairroCliente = new JTextField(); // Bairro
JTextField cidadeCliente = new JTextField(); // Cidade
JTextField estadoCliente = new JTextField(); // Estado
JTextField paisCliente = new JTextField(); // País
JTextField cepCliente = new JTextField(); // CEP
JTextField telefoneCliente = new JTextField(); // Telefone
JTextField emailCliente = new JTextField(); // Email
JPanel painelCentral = new JPanel();
JPanel painelInferior = new JPanel();
public Sistema ()
{
super("Sistema de Petshop");
this.setLayout(new BorderLayout());
painelCentral.setLayout(new GridLayout(10,2));
painelInferior.setLayout(new GridLayout());
painelCentral.add(new JLabel ("ID do cliente: "));
painelCentral.add(clienteId); // campo textfield clienteId
painelCentral.add(new JLabel ("Nome do cliente: "));
painelCentral.add(nomeCliente); // campo textfield nomeCliente
painelCentral.add(new JLabel ("Rua: "));
painelCentral.add(ruaCliente); // campo textfield ruaCliente
painelCentral.add(new JLabel ("Número: "));
painelCentral.add(numeroCliente); // campo textfield numeroCliente
painelCentral.add(new JLabel ("Bairro: "));
painelCentral.add(bairroCliente); // campo textfield bairroCliente
painelCentral.add(new JLabel ("Cidade: "));
painelCentral.add(cidadeCliente); // campo textfield cidadeCliente
painelCentral.add(new JLabel ("Estado: "));
painelCentral.add(estadoCliente); // campo textfield estadoCliente
painelCentral.add(new JLabel ("País: "));
painelCentral.add(paisCliente); // campo textfield paisCliente
painelCentral.add(new JLabel ("CEP: "));
painelCentral.add(cepCliente); // campo textfield cepCliente
painelCentral.add(new JLabel ("Telefone: "));
painelCentral.add(telefoneCliente); // campo textfield telefoneCliente
painelCentral.add(new JLabel ("Email: "));
painelCentral.add(emailCliente); // campo textfield emailCliente
painelInferior.add(novo);// add o botão 'Novo' no JFrame
painelInferior.add(gravar);// add o botão 'Gravar' no JFrame
painelInferior.add(editar);// add o botão 'Editar' no JFrame
painelInferior.add(apagar);// add o botão 'Apagar' no JFrame
painelInferior.add(sair);// add o botão 'Sair' no JFrame
this.add(painelCentral, BorderLayout.CENTER);
this.add(painelInferior, BorderLayout.SOUTH);
//TextFieldHandler handlerTextField = new TextFieldHandler();
//clienteId.addActionListener(handlerTextField);
//nomeCliente.addActionListener(handlerTextField);
ButtonHandler handlerButton = new ButtonHandler();
novo.addActionListener(handlerButton);
gravar.addActionListener(handlerButton);
editar.addActionListener(handlerButton);
apagar.addActionListener(handlerButton);
sair.addActionListener(handlerButton);
setSize(800,600);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
/*
private class TextFieldHandler implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
String conteudoTextField = "";
// Usuário pressionou <Enter> no JTextField 'login'
if(event.getSource() == login)
{
conteudoTextField = String.format("%s",event.getActionCommand());
}
else // Usuário pressinou <Enter> no JPasswordField 'senha'
if (event.getSource() == senha)
{
conteudoTextField = String.format("%s",event.getActionCommand());
}
JOptionPane.showMessageDialog(null,conteudoTextField);
}
}*/
private class ButtonHandler implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
String botaoClicado = "";
if (event.getSource() == gravar)
JOptionPane.showMessageDialog(null,"Botao Gravar clicado. Cliente ID: " + clienteId.getText());
else
if (event.getSource() == sair)
JOptionPane.showMessageDialog(null,"Botao Sair clicado");
// event.getActionCommand() -> Para um evento JButton, o método getActionCommand de ActionEvent
// retorna o rótulo no JButton
}
}
public static void main(String[] args) {
new Sistema();
}
}
Obrigado.