Mostrando entradas con la etiqueta interfaz gráfica. Mostrar todas las entradas
Mostrando entradas con la etiqueta interfaz gráfica. Mostrar todas las entradas

martes, 9 de junio de 2015

Desarrollo de una interfaz gráfica en java: código para limpiar los componentes.

Requerimos que nuestra aplicación limpie diversos componentes al pulsar el botón "Limpiar".

Para ello creamos un método "ActionPerformed" para limpiar desde el botón:

/**
     * jButtonLimpiarActionPerformed.
     * Realiza las operaciones necesarias para limpiar los datos introducidos
     * si pulsamos en el botón limpiar.
     * 
     * @param evt 
     */
    private void jButtonLimpiarActionPerformed(java.awt.event.ActionEvent evt) {                                               
        //Primero vamos a limpiar todos los jTextField.
        jTextFieldNifNie.setText("");
        jTextFieldTelefono.setText("");
        jTextFieldNombre.setText("");
        jTextFieldApellidos.setText("");
        jTextFieldAsistentesPrevistos.setText("10");
        jTextFieldCodigoPostal.setText("");
        jTextFieldDireccion.setText("");
        jTextFieldNumeroHabitaciones.setText("");
        jTextFieldPoblacion.setText("");
        //Limpiamos el SpinnerFecha: no se si existirá otro método menos engorroso 
        //para limpiar un jSpinner.
        jSpinnerFecha.setModel(new javax.swing.SpinnerDateModel(new java.util.Date(), null, null,                      java.util.Calendar.MONTH));
        //Limpiamos el jListTipoCocina.
        jListTipoCocina.setModel(new javax.swing.AbstractListModel() {
            String[] strings = {"Buffé", "Buffé vegetariano", "Carta", "Cita con el Chef", "No precisa"};

            public int getSize() {
                return strings.length;
            }

            public Object getElementAt(int i) {
                return strings[i];
            }
        });
        //Limpiamos los radioButtons.  Este sí que es un método sencillo para limpiar.
        buttonGroup1.clearSelection();
        //Limpiamos el jSpìnnerJornadasCongreso.
        jSpinnerJornadasCongreso.setModel(new javax.swing.SpinnerNumberModel(Integer.valueOf(1),                       Integer.valueOf(1), null, Integer.valueOf(1)));
        //Limpiamos el jCheckBoxRequiereHabitaciones. Como se me permite añadirlo
        //a un buttonGroup, lo he hecho para poder aplicar el método clearSelection.
        buttonGroup2.clearSelection();
        //Limpiamos el ComboBox Tipo de habitación.
        jComboBoxTipoHabitacion.setModel(new javax.swing.DefaultComboBoxModel(new String[]{"Individual",                "Doble", "Doble dos camas", "Junior Suite"}));
        //Ahora inhabilitamos los campos que deben de estar inhabilitadas de inicio,
        // que son los del panel congreso.
        jSpinnerJornadasCongreso.setEnabled(false);
        jCheckBoxRequiereHabitaciones.setEnabled(false);
        jTextFieldNumeroHabitaciones.setEnabled(false);
        jComboBoxTipoHabitacion.setEnabled(false);
        
    }       

      



domingo, 7 de junio de 2015

Desarrollar una interfaz gráfica en java, activar y desactivar un componente desde un radiobutton.

Queremos activar o desactivar un componente desde al pulsar un radiobutton en concreto. Para ello tenemos varios radiobuttons y solo uno activa el componente.



En la imagen podemos ver que el radiobutton "Congreso" activa el componente "Jornadas del Congreso". Cualquiera de los otros dos radiobuttons no los activará.



Así, en la clase que desarrolla la interfaz gráfica, desarrollamos los siguientes métodos:


/**
     * jRadioButtonBanqueteActionPerformed.
     * Nos aseguramos que al pulsar el Radio Button Banquete, el panel referido
     * a Congreso, permanece inhabilitado.
     * 
     * @param evt 
     */
    private void jRadioButtonBanqueteActionPerformed(java.awt.event.ActionEvent evt) {                                                     

        if (jRadioButtonBanquete.isSelected()) {
            jSpinnerJornadasCongreso.setEnabled(false);
            jCheckBoxRequiereHabitaciones.setEnabled(false);
            jTextFieldNumeroHabitaciones.setEnabled(false);
            jComboBoxTipoHabitacion.setEnabled(false);
        }

    }                                                    

    private void jTextFieldAsistentesPrevistosActionPerformed(java.awt.event.ActionEvent evt) {                                                              


    }                                                             
/**
 * jRadioButtonJornadaActionPerformed.
 * Nos aseguramos que al pulsar el Radio Button Jornada, el panel referido a
 * congreso, permanece inhabilitado.
 * 
 * @param evt 
 */
    private void jRadioButtonJornadaActionPerformed(java.awt.event.ActionEvent evt) {                                                    
        if (jRadioButtonJornada.isSelected()) {
            jSpinnerJornadasCongreso.setEnabled(false);
            jCheckBoxRequiereHabitaciones.setEnabled(false);
            jTextFieldNumeroHabitaciones.setEnabled(false);
            jComboBoxTipoHabitacion.setEnabled(false);
        }
    }                                                   

    /**
     * jRadioButtonCongresoActionPerformed.
     * Nos aseguramos que al pulsar el Radio Button Congreso, el panel referido
     * a  Congreso se habilita.
     * 
     * @param evt 
     */
    private void jRadioButtonCongresoActionPerformed(java.awt.event.ActionEvent evt) {                                                     
        if (jRadioButtonCongreso.isSelected()) {
            jSpinnerJornadasCongreso.setEnabled(true);
            jCheckBoxRequiereHabitaciones.setEnabled(true);

        }

    }