Posicioinamento de campos

3 respostas
jhecko

Estou com dificuldades de Aproximar o campo editavel do label
segue o codigo

import javax.swing.JPanel;
import javax.swing.JTextField;

public class CopyOfClienteForm extends MyJInternalFrame {

/**
 * 
 */
private static final long serialVersionUID = -8227879474432802662L;

JPanel panel = new JPanel();

JTextField txtNome;
JTextField txtSobrenome;
JTextField txtEndereco;
JTextField txtBairro;
JTextField txtTelefone;

public CopyOfClienteForm(){
	super("Cadastro Cliente", false, true);
	this.setSize(400, 250);
	//this.panel.setLayout(new GridBagLayout());
	//GridBagConstraints c = new GridBagConstraints();
	
	txtNome = new JTextField();
	txtSobrenome = new JTextField();
	txtEndereco = new JTextField();
	txtBairro = new JTextField();
	txtTelefone = new JTextField();
	
	panel.setLayout(null);
	
	
	txtNome.setBounds(10, 10, 10, 10);
	txtSobrenome.setBounds(10, 32, 10, 10);
	txtEndereco.setBounds(10, 55, 10, 10);
	txtBairro.setBounds(10, 55, 10, 10);
	txtTelefone.setBounds(10, 78, 10, 10);
	
	panel.add(txtNome);
	panel.add(txtSobrenome);
	panel.add(txtEndereco);
	panel.add(txtBairro);
	panel.add(txtTelefone);
	

	
	//this.getContentPane().add(txtNome);
	//this.getContentPane().add(txtSobrenome);
	//this.getContentPane().add(txtEndereco);
	//this.getContentPane().add(txtBairro);
	//this.getContentPane().add(txtTelefone);
	
	
	
	this.add(panel);
}

}

OUTRO ARQUIVO

import java.awt.ComponentOrientation;

import java.awt.Dimension;

import java.awt.FlowLayout;

import java.awt.GridBagConstraints;

import java.awt.GridBagLayout;

import java.awt.Point;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.MouseAdapter;

import java.awt.event.MouseEvent;

import java.util.List;
import javax.swing.BoxLayout;

import javax.swing.JButton;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import javax.swing.JPanel;

import javax.swing.JScrollPane;

import javax.swing.JTable;

import javax.swing.JTextField;
import com.elaborata.javabasico.controller.ClienteController;

import com.elaborata.javabasico.entity.Cliente;

import com.elaborata.javabasico.entity.impl.ClienteImpl;

import com.elaborata.javabasico.mycomponents.MyJInternalFrame;

import com.elaborata.javabasico.mycomponents.table.TableModelClientes;

/**

  • Form de Clientes.
  • @author Valter Bruno Konrad Neto

*/
public class ClienteForm extends MyJInternalFrame {

/**
 * 
 */
private static final long serialVersionUID = -8227879474432802662L;

JPanel panelPrincipal = new JPanel();
JPanel panelMsg = new JPanel();

JLabel lblCodigo = new JLabel("Codigo:");
JLabel lblNome = new JLabel("Nome:");
JLabel lblSobrenome = new JLabel("Sobrenome:");
JLabel lblEndereco = new JLabel("Endereço:");
JLabel lblBairro = new JLabel("Bairro:");
JLabel lblCidade = new JLabel("Cidade:");
JLabel lblEStado = new JLabel("Estado:");
JLabel lblCep = new JLabel("CEP:");
JLabel lblTelefone = new JLabel("Telefone:");
JLabel lblCnpj = new JLabel("CNPJ:");
JLabel lblCpf = new JLabel("CPF:");
JLabel lblRg = new JLabel("RG:");
JLabel lblIe = new JLabel("Inscr. Est:");
JLabel lblEmail = new JLabel("E-mail:");
JLabel lblWebsite = new JLabel("Website:");
JLabel lblBanco = new JLabel("Banco:");
JLabel lblAgencia = new JLabel("Agência:");
JLabel lblConta = new JLabel("C/C:");
JLabel lblExtra = new JLabel("Extras:");



JTextField txtCodigo;
JTextField txtNome;
JTextField txtSobrenome;
JTextField txtEndereco;
JTextField txtBairro;
JTextField txtCidade;
JTextField txtCep;
JTextField txtTelefone;
JTextField txtCnpj;
JTextField txtCpf;
JTextField txtRg;
JTextField txtIe;
JTextField txtEmail;
JTextField txtWebsite;
JTextField txtBanco;
JTextField txtAgencia;
JTextField txtConta;
JTextField txtExtra;
	
JTextField txtEstado;
	
JButton btnInserir;
JButton btncancelar;
JButton btnAlterar;
JButton btnApagar;

List<Cliente> clientes;

JTable tabelaClientes;

public ClienteForm(){
	super("Cadastro de Clientes", true, true, true, true);
	this.setSize(400, 250);
	
	this.panelMsg.setLayout(new BoxLayout(panelMsg, BoxLayout.PAGE_AXIS));
	
	this.panelPrincipal.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT);
	this.panelPrincipal.setLayout(new GridBagLayout());
	
	this.panelPrincipal.setSize(400, 250);
	
	
	GridBagConstraints c = new GridBagConstraints();
	
	c.weightx = 0.5;
	c.ipadx = 1;
	c.ipady = 1;
	
	c.gridx = 1;
	c.gridy = 0;
	panelPrincipal.add(panelMsg, c);
	
	c.fill = GridBagConstraints.HORIZONTAL;
	//lblCodigo
	c.gridx = 0;
	c.gridy = 1;
	panelPrincipal.add(lblCodigo, c);
	//txtCodigo
	c.gridx = 1;
	c.gridy = 1;
	txtCodigo = new JTextField(10);
	txtCodigo.setEditable(false);
	panelPrincipal.add(txtCodigo, c);
	
	//lblNome
	c.fill = GridBagConstraints.HORIZONTAL;
	c.gridx = 0;
	c.gridy = 2;
	panelPrincipal.add(lblNome, c);
	//txtNome
	c.gridx = 1;
	c.gridy = 2;
	txtNome = new JTextField(20);
	panelPrincipal.add(txtNome, c);
	
	//lblSobrenome
	c.gridx = 0;
	c.gridy = 3;
	panelPrincipal.add(lblSobrenome, c);
	//txtSobrenome
	c.gridx = 1;
	c.gridy = 3;
	txtSobrenome = new JTextField(20);
	panelPrincipal.add(txtSobrenome, c);
	
	//lblEndereco
	c.gridx = 0;
	c.gridy = 4;
	panelPrincipal.add(lblEndereco, c);
	//txtEndereco
	c.gridx = 1;
	c.gridy = 4;
	txtEndereco = new JTextField(30);
	panelPrincipal.add(txtEndereco, c);
	
	//lblBairro
	c.gridx = 2;
	c.gridy = 4;
	panelPrincipal.add(lblBairro, c);
	//txtBairro
	c.gridx = 3;
	c.gridy = 4;
	txtBairro = new JTextField(25);
	panelPrincipal.add(txtBairro, c);
	
	//lblTelefone
	c.gridx = 0;
	c.gridy = 5;
	panelPrincipal.add(lblTelefone, c);
	//txtTelefone
	c.gridx = 1;
	c.gridy = 5;
	txtTelefone = new JTextField(15);
	panelPrincipal.add(txtTelefone, c);
	
	//Botões
	JPanel panelBotoes = new JPanel();
	panelBotoes.setLayout(new FlowLayout());
	btncancelar = new JButton("Cancelar");
	btncancelar.addActionListener(new ActionListener(){
		public void actionPerformed(ActionEvent arg0) {
			limpa();
			btnAlterar.setVisible(false);
			btnInserir.setVisible(true);
		}
	});
	
	btnInserir = new JButton("Inserir");
	btnInserir.addActionListener(new ActionListener(){
		public void actionPerformed(ActionEvent e) {
			ClienteController controller = ClienteController.getInstance();
			Cliente cliente = getCliente();
			List<String> validacao = controller.validate(cliente);
			if(validacao.isEmpty()){
				controller.salvar(cliente);
				JOptionPane.showMessageDialog(panelPrincipal, "Cliente inserido com sucesso.", "Sucesso", JOptionPane.INFORMATION_MESSAGE);
				clientes = ClienteController.getInstance().getClientes();
				TableModelClientes tabelaClientesModel = new TableModelClientes(clientes);
				tabelaClientes.setModel(tabelaClientesModel);
			}
			else{
				StringBuilder sb = new StringBuilder();
				for(String msg : validacao){
					//ErrorLabel label = new ErrorLabel(msg);
					//panelMsg.add(label);
					sb.append(msg + "\n");
				}
				JOptionPane.showMessageDialog(panelPrincipal, sb.toString(), "Erro", JOptionPane.ERROR_MESSAGE);
				//repaint();
				//pack();
			}
			repaint();
			//pack();
			
		}
	});
	
	
	btnAlterar = new JButton("Alterar");
	btnAlterar.setVisible(false);
	btnAlterar.addActionListener(new ActionListener(){
		public void actionPerformed(ActionEvent e) {
			ClienteController controller = ClienteController.getInstance();
			Cliente cliente = getCliente();
			List<String> validacao = controller.validate(cliente);
			if(validacao.isEmpty()){
				controller.atualizar(cliente);
				JOptionPane.showMessageDialog(panelPrincipal, "Cliente alterado com sucesso.", "Sucesso", JOptionPane.INFORMATION_MESSAGE);
				clientes = ClienteController.getInstance().getClientes();
				TableModelClientes tabelaClientesModel = new TableModelClientes(clientes);
				tabelaClientes.setModel(tabelaClientesModel);
			}
			else{
				StringBuilder sb = new StringBuilder();
				for(String msg : validacao){
					//ErrorLabel label = new ErrorLabel(msg);
					//panelMsg.add(label);
					sb.append(msg + "\n");
				}
				JOptionPane.showMessageDialog(panelPrincipal, sb.toString(), "Erro", JOptionPane.ERROR_MESSAGE);
				//repaint();
				//pack();
			}
			repaint();
			//pack();
			
		}
	});
	
	btnApagar = new JButton("Apagar");
	btnApagar.setVisible(false);
	btnApagar.addActionListener(new ActionListener() {
		public void actionPerformed(ActionEvent e) {
			ClienteController controller = ClienteController.getInstance();
			Cliente cliente = getCliente();
			controller.apagar(cliente);
			JOptionPane.showMessageDialog(panelPrincipal, "Cliente apagado com sucesso.", "Sucesso", JOptionPane.INFORMATION_MESSAGE);
			clientes = ClienteController.getInstance().getClientes();
			TableModelClientes tabelaClientesModel = new TableModelClientes(clientes);
			tabelaClientes.setModel(tabelaClientesModel);
			limpa();
			btnAlterar.setVisible(false);
			btnInserir.setVisible(true);
			btnApagar.setVisible(false);
			repaint();
			//pack();

		}
	});
	
	
	panelBotoes.add(btnInserir);
	panelBotoes.add(btnAlterar);
	panelBotoes.add(btnApagar);
	panelBotoes.add(btncancelar);
	
	c.fill = GridBagConstraints.NONE;
	c.gridx = 1;
	c.gridy = 6;
	panelPrincipal.add(panelBotoes, c);
	//Fim Botões
	
	//Tabela Clientes
	clientes = ClienteController.getInstance().getClientes();
	TableModelClientes tabelaClientesModel = new TableModelClientes(clientes);
	
	c.fill = GridBagConstraints.BOTH;
	c.gridx = 0;
	c.gridy = 7;
	
	c.weightx = 1;
	c.weighty = 1;
	
	c.gridwidth = 2;
	
	tabelaClientes = new JTable(tabelaClientesModel);
	tabelaClientes.setPreferredScrollableViewportSize(new Dimension(800, 100));
	
	tabelaClientes.addMouseListener(new MouseAdapter() {
		
		public void mouseClicked(MouseEvent e) {
			if (e.getClickCount() == 2) {
				Point p = e.getPoint();
				int row = tabelaClientes.rowAtPoint(p);
				//int column = tabelaClientes.columnAtPoint(p);
				Cliente cliente = clientes.get(row);
				setCliente(cliente);
				btnAlterar.setVisible(true);
				btnInserir.setVisible(false);
				btnApagar.setVisible(true);
			}
		}
		
	});
	
	JScrollPane scrollPane = new JScrollPane(tabelaClientes);
	panelPrincipal.add(scrollPane, c);
	// Fim Tabela Clientes
	
	this.setContentPane(panelPrincipal);
	this.pack();
	this.setVisible(true);
}

/**
 * retorna um Cliente com os dados dos campos do form.
 * @return Cliente
 */
public Cliente getCliente(){
	Cliente cliente = new ClienteImpl();
	if(txtCodigo.getText() != null && !"".equalsIgnoreCase(txtCodigo.getText())){
		cliente.setCodigo(Integer.valueOf(txtCodigo.getText()));
	}
	cliente.setNome(txtNome.getText());
	cliente.setSobrenome(txtSobrenome.getText());
	cliente.setEndereco(txtEndereco.getText());
	cliente.setBairro(txtBairro.getText());
	cliente.setTelefone(txtTelefone.getText());
	return cliente;
}

public void setCliente(Cliente cliente){
	txtCodigo.setText((cliente.getCodigo().toString()));
	txtNome.setText(cliente.getNome());
	txtSobrenome.setText(cliente.getSobrenome());
	txtEndereco.setText(cliente.getEndereco());
	txtBairro.setText(cliente.getBairro());
	txtTelefone.setText(cliente.getTelefone());
}

/**
 * Limpa os campos da tela.
 *
 */
public void limpa(){
	txtCodigo.setText("");
	txtNome.setText("");
	txtSobrenome.setText("");
	txtEndereco.setText("");
	txtBairro.setText("");
	txtTelefone.setText("");
}

}

OUTRO ARQUIVO EXECUTAVEL

public class Main {

public static void main(String[] args) {

FramePrincipal principal = new FramePrincipal();

principal.setVisible(true);

}

}

3 Respostas

P

Olá,

Cara, voce nao sabe o desanimo que dá ver um código desses sem formatação. Formata ele ai com as tags Code, por favor?

[]'s

shoko

Cara olha o tanto de código, coloca isso entre as tag CODE plz! Senão fica impussível de ler.

R

Essa é uma dúvida interessante e provavelmente simples de ser resolvida (por muitos aqui, não é o meu caso). Entretanto você já perdeu tempo na resposta por não ter feito o básico “[códe]seu_código[/códe]”.
:thumbup:

Criado 29 de julho de 2008
Ultima resposta 29 de jul. de 2008
Respostas 3
Participantes 4