Dudas de Programacion » Java » Java Swing

Problema con GUI

(2 posts)

Tags:

No tags yet.

  1. YtseJam
    Member

    Que tal?
    Estoy luchando con unas ventanas que tengo que hacer para un proyecto de la Facu.
    Inicialmente me habia preocupado por la funcionabilidad y no tanto por el diseño. Ahora que lo quiero mejorar, me encuentro con el siguiente problema:
    Tengo mucho espacio vertical entre los jLabels y los jTextFields

    http://s2.subirimagenes.com/imagen/previo/thump_7387395ventana.png

    Y este es el codigo que genera esta ventana.

    public void listarChoferes() throws ConnectException{

    ScrollPane scroll = new ScrollPane();
    String codigoChofer;
    boolean first = true;
    try {
    for (Iterator<Chofer> iterator = Chofer_DTO.listarChoferes().iterator(); iterator.hasNext();) {

    Chofer chofer = (Chofer) iterator.next();

    JLabel lblCodigoCofer = new javax.swing.JLabel();
    JLabel lblNombreChofer = new javax.swing.JLabel();
    JLabel lblDniChofer = new javax.swing.JLabel();
    JLabel lblApellidoChofer = new javax.swing.JLabel();
    JLabel lblDireccionChofer = new javax.swing.JLabel();
    JLabel lblCpChofer = new javax.swing.JLabel();
    JLabel lblIdLocalidadChofer = new javax.swing.JLabel();
    JLabel lblTelParticularChofer = new javax.swing.JLabel();
    JLabel lblCelularChofer = new javax.swing.JLabel();
    JLabel lblNextelChofer = new javax.swing.JLabel();
    JLabel lblMailChofer = new javax.swing.JLabel();
    JLabel lblCodigoChofer = new javax.swing.JLabel();

    JLabel lblVacio = new javax.swing.JLabel();
    JLabel lblVacio1 = new javax.swing.JLabel();

    final JButton btnConfirModificar = new javax.swing.JButton();
    final JButton btnEliminar = new javax.swing.JButton();
    JTextField txtCodigo = new JTextField();
    JTextField txtNombre= new JTextField();
    JTextField txtDni = new JTextField();
    JTextField txtApellido= new JTextField();
    JTextField txtDireccion = new JTextField();
    JTextField txtIdLocalidad= new JTextField();
    JTextField txtTelParticular = new JTextField();
    JTextField txtCelular= new JTextField();
    JTextField txtNextel= new JTextField();
    JTextField txtMail= new JTextField();
    JTextField txtCp= new JTextField();
    if(first) {

    lblCodigoChofer.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
    lblCodigoChofer.setForeground(new java.awt.Color(0, 51, 204));
    lblCodigoChofer.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
    lblCodigoChofer.setVerticalAlignment(javax.swing.SwingConstants.TOP);
    lblCodigoChofer.setText("Código");

    lblApellidoChofer.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
    lblApellidoChofer.setForeground(new java.awt.Color(0, 51, 204));
    lblApellidoChofer.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
    lblApellidoChofer.setVerticalAlignment(javax.swing.SwingConstants.TOP);
    lblApellidoChofer.setText("Apellido");

    lblDireccionChofer.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
    lblDireccionChofer.setForeground(new java.awt.Color(0, 51, 204));
    lblDireccionChofer.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
    lblDireccionChofer.setVerticalAlignment(javax.swing.SwingConstants.TOP);
    lblDireccionChofer.setText("Dirección");

    lblDniChofer.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
    lblDniChofer.setForeground(new java.awt.Color(0, 51, 204));
    lblDniChofer.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
    lblDniChofer.setVerticalAlignment(javax.swing.SwingConstants.TOP);
    lblDniChofer.setText("Dni");

    lblCpChofer.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
    lblCpChofer.setForeground(new java.awt.Color(0, 51, 204));
    lblCpChofer.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
    lblCpChofer.setVerticalAlignment(javax.swing.SwingConstants.TOP);
    lblCpChofer.setText("CP");

    lblCelularChofer.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
    lblCelularChofer.setForeground(new java.awt.Color(0, 51, 204));
    lblCelularChofer.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
    lblCelularChofer.setVerticalAlignment(javax.swing.SwingConstants.TOP);
    lblCelularChofer.setText("Celular");

    lblMailChofer.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
    lblMailChofer.setForeground(new java.awt.Color(0, 51, 204));
    lblMailChofer.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
    lblMailChofer.setVerticalAlignment(javax.swing.SwingConstants.TOP);
    lblMailChofer.setText("Mail");

    lblNextelChofer.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
    lblNextelChofer.setForeground(new java.awt.Color(0, 51, 204));
    lblNextelChofer.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
    lblNextelChofer.setVerticalAlignment(javax.swing.SwingConstants.TOP);
    lblNextelChofer.setText("Nextel");

    lblTelParticularChofer.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
    lblTelParticularChofer.setForeground(new java.awt.Color(0, 51, 204));
    lblTelParticularChofer.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
    lblTelParticularChofer.setVerticalAlignment(javax.swing.SwingConstants.TOP);
    lblTelParticularChofer.setText("Teléfono");

    lblIdLocalidadChofer.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
    lblIdLocalidadChofer.setForeground(new java.awt.Color(0, 51, 204));
    lblIdLocalidadChofer.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
    lblIdLocalidadChofer.setVerticalAlignment(javax.swing.SwingConstants.TOP);
    lblIdLocalidadChofer.setText("Localidad");

    lblNombreChofer.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
    lblNombreChofer.setForeground(new java.awt.Color(0, 51, 204));
    lblNombreChofer.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
    lblNombreChofer.setVerticalAlignment(javax.swing.SwingConstants.TOP);
    lblNombreChofer.setText("Nombre");

    lblVacio.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
    lblVacio.setForeground(new java.awt.Color(0, 51, 204));
    lblVacio.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
    lblVacio.setVerticalAlignment(javax.swing.SwingConstants.TOP);
    lblVacio.setText("Acción");

    lblVacio1.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
    lblVacio1.setForeground(new java.awt.Color(0, 51, 204));
    lblVacio1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
    lblVacio1.setVerticalAlignment(javax.swing.SwingConstants.TOP);
    lblVacio1.setText("Acción");
    }

    btnConfirModificar.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
    btnConfirModificar.setForeground(new java.awt.Color(0, 204, 102));
    btnConfirModificar.setText("Modificar");
    btnConfirModificar.setName(String.valueOf(chofer.getChoferId()));

    btnEliminar.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
    btnEliminar.setForeground(new java.awt.Color(255, 0, 0));
    btnEliminar.setText("Eliminar");
    txtCodigo.setEditable(false);
    txtNombre.setEditable(false);

    codigoChofer = String.valueOf(chofer.getChoferId());
    txtCodigo.setText(codigoChofer);
    txtCodigo.setSize(50,50);
    txtCodigo.setBounds(10,50,0,0);
    //txtCodigo.setFont(new Font("Tahoma", 1, 11));
    txtNombre.setText(chofer.getNombre());
    txtDni.setText(chofer.getDni().toString());
    txtApellido.setText(chofer.getApellido());
    txtDireccion.setText(chofer.getDireccion());
    txtIdLocalidad.setText(String.valueOf(chofer.getLocalidad()));
    txtCp.setText(String.valueOf(chofer.getCodPostal()));

    txtTelParticular.setText(chofer.getTelefono().toString());
    txtCelular.setText(chofer.getCelular().toString());
    txtNextel.setText(chofer.getNextel());
    txtMail.setText(chofer.getMail());
    btnConfirModificar.setName(codigoChofer);//seteamos los idZona a los botones
    btnEliminar.setName(codigoChofer); //para hacer consultas con el idZona

    jPanel3.add(lblCodigoChofer);
    jPanel3.add(lblDniChofer);
    jPanel3.add(lblNombreChofer);
    jPanel3.add(lblApellidoChofer);
    jPanel3.add(lblDireccionChofer);
    jPanel3.add(lblCpChofer);
    jPanel3.add(lblIdLocalidadChofer);
    jPanel3.add(lblTelParticularChofer);
    jPanel3.add(lblCelularChofer);
    jPanel3.add(lblNextelChofer);
    jPanel3.add(lblMailChofer);

    jPanel3.add(lblVacio);
    jPanel3.add(lblVacio1);
    jPanel3.add(txtCodigo);
    jPanel3.add(txtDni);
    jPanel3.add(txtNombre);
    jPanel3.add(txtApellido);
    jPanel3.add(txtDireccion);
    jPanel3.add(txtCp);
    jPanel3.add(txtIdLocalidad);
    jPanel3.add(txtTelParticular);
    jPanel3.add(txtCelular);
    jPanel3.add(txtNextel);
    jPanel3.add(txtMail);

    jPanel3.add(btnConfirModificar);
    jPanel3.add(btnEliminar);
    jPanel3.setBackground(Color.GRAY);
    jPanel3.setLayout(new GridLayout(Chofer_DTO.listarChoferes().size()*2,12,5,5));

    //metodos de eventos de la lista de choferES
    btnConfirModificar.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
    int id =Integer.parseInt(btnConfirModificar.getName());
    Chofer chofer;
    try {
    chofer = (Chofer) Chofer_DTO.listarChoferes();
    //jPanel3.setVisible(true);
    AdministracionChoferesPopUp(id,chofer.getNombre());

    } catch (Exception e1) {
    System.out.println("error " + e1.getMessage());

    }
    }});

    btnEliminar.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
    int id =Integer.parseInt(btnEliminar.getName());
    Chofer chofer;
    boolean estado;

    try {
    estado = Chofer_DTO.borrarChofer(id);
    } catch (ConnectException e1) {
    // TODO Auto-generated catch block
    e1.printStackTrace();
    }

    if(estado = true){
    JOptionPane.showMessageDialog(null,"Operación exitosa","info",JOptionPane.INFORMATION_MESSAGE);

    }
    else{
    JOptionPane.showMessageDialog(null,"no se pudo realizar la operación","Error",JOptionPane.ERROR_MESSAGE);
    }
    }
    }

    );

    first = false;
    }

    // jPanel3.setVisible(true);
    scroll.add(jPanel3);
    scroll.setVisible(true);
    super.add(scroll,BorderLayout.CENTER);

    }catch(Exception e){

    }

    }

    Alguien sabe si lo puedo solucionar y como?

    Saludos!

    **>>YtseJam<<**
    Posted 3 months ago #


  2. hum.. seguro que llego tarde para ayudar.. pero como no tengo sueño voy a aportar lo que pueda.
    soy novato asi que mis conocimientos son limitados (3 semanas aprendiendo java)
    Para el tema de la distribución el problema lo tienes con el GridLayout y JPanel porque primero tienes que aplicar GridLayout al panel y luego añadir los elementos como botones y etiquetas para que se ajusten al layout que ya tiene aplicado.
    si lo haces alrevés. añades etiquetas y despues aplicas GridLayout lo que hace es aplicar FlowLayout a las etiquetas porque es lo que tiene por defecto cuando le metias las etiquetas.

    Posted 2 months ago #

Reply

You must log in to post.

1,070 posts in 437 topics over 40 months by 388 of 892 members. Latest: lalala, nijh1, jasu

Acerca de...

Dudas de Programación es una Web, dentro del proyecto aulambra.com que nace con la idea de propocionar un foro de consultas sobre diferentes temas de programación. Orientado a ayudar a los internautas hispano-hablantes en Internet.

Ir al Blog de Linea de Código

Otras Webs