Autor Tema: Crear un arreglo para JFrame Button Java diseño en ventanas tipo windows  (Leído 3080 veces)

Efliep

  • Sin experiencia
  • *
  • Mensajes: 3
    • Ver Perfil
Hola que tal buenos días desde México soy nuevo aquí leí las normas espero no romperlas y expongo mi problema.

Tengo un proyecto con dos Paquetes uno Logico y otro Visual en el Lógico esta la clase y en el visual el JFrame

El proyecto es de una cotizaciónn de Autos, donde me pide Seleccionar la Marca, el SubMarca y Accesorios. Sí selecciono la Marca y la SubMarca sin Accesorios mandar el precio de la cotizacion a un JList, pero si selecciono un Accesorio agrgarle el porcentaje de costo por Accesorio a Precio total.

Mi problema esta en el Button del JFrame no se declarar el Método para dicho boton mencionado lo que se me pide, pongo el código de la clase y lo que llevo del boton Cotizar

Código: [Seleccionar]
package Logica;

import java.util.ArrayList;
import javax.swing.DefaultComboBoxModel;

/**
 *
 * @author FelipeJ
 */
public class Autos {
   
 DefaultComboBoxModel Vw = new DefaultComboBoxModel();
 DefaultComboBoxModel Ford = new DefaultComboBoxModel();
 DefaultComboBoxModel Nissan = new DefaultComboBoxModel();
 
    public DefaultComboBoxModel getVw() {
        Vw.removeAllElements();
        Vw.addElement("Jetta");
        Vw.addElement("Golf");
        Vw.addElement("Pointer");
        return Vw;
    }
       public DefaultComboBoxModel getFord() {
        Ford.removeAllElements();
        Ford.addElement("Fiesta");
        Ford.addElement("Mondeo");
        Ford.addElement("Ford K");
        return Ford;
    }
       public DefaultComboBoxModel getNissan() {
        Nissan.removeAllElements();
        Nissan.addElement("Sentra");
        Nissan.addElement("Platina");
        Nissan.addElement("Tsuru");
        return Nissan;
       }
}

Y este es el código del Boton Cotizar
Código: [Seleccionar]
    private void jbnCotizarActionPerformed(java.awt.event.ActionEvent evt) {                                           
        // Boton de Cotizar:
          String cotiza =""; //Variable para el boton cotizar
        if (chbAire.isSelected()) //Si se selecciona
            cotiza = cotiza +" "+chbAire.getText();//Mandara al panel.
       
        if (chbAsientos.isSelected())
            cotiza = cotiza +" "+ chbAsientos.getText();
       
        if (chbDireccionA.isSelected())
            cotiza =cotiza+" "+chbDireccionA.getText();
        if (chbOtro.isSelected())
            cotiza = cotiza+" "+chbOtro.getText();
       
       //Pasa a la caja de texto
       
    }                                         

Imagen del JFrame para dar una idea

Espero contar con su ayuda y apoyo, al igual que de mi parte en lo que este en mi manos aportar.

Gracias y hasta pronto.
« Última modificación: 16 de Abril 2017, 19:33 por Alex Rodríguez »

pedro,,

  • Moderador Global
  • Experto
  • *******
  • APR2.COM
  • Mensajes: 1292
    • Ver Perfil
Re:Crear un arreglo para JFrame Button
« Respuesta #1 en: 30 de Enero 2017, 15:50 »
Hola Efliep.

¿Podrías poner el código de la donde va el método que recoge el evento?

También podrías probar con esto:

Código: [Seleccionar]
nombreBoton.addActionListener (new ActionListener() {
         public void actionPerformed (ActionEvent e) {
            // Aquí lo que desees que suceda cuando pulses el botón.
         }
});

Saludos. ;D

Efliep

  • Sin experiencia
  • *
  • Mensajes: 3
    • Ver Perfil
Re:Crear un arreglo para JFrame Button
« Respuesta #2 en: 03 de Febrero 2017, 18:55 »
Aqui esta el método:

Código: [Seleccionar]
    private void jbnCotizarActionPerformed(java.awt.event.ActionEvent evt) {                                           
   if(cmbSubMarca.getSelectedItem().toString().equalsIgnoreCase("[ Elija una Marca ]")==true){
      JOptionPane.showMessageDialog(null,"Seleccione una sub marca de auto,,,");
      cmbSubMarca.requestFocus();
      return;
   }     
   
   if(cmbMarca.getSelectedItem().toString().equalsIgnoreCase("Vw")){
   
   if(cmbSubMarca.getSelectedItem().toString().equalsIgnoreCase("JETTA")){
       precio= 180000;
    }
   if(cmbSubMarca.getSelectedItem().toString().equalsIgnoreCase("GOLF")){
       precio= 150000;
   }
   if(cmbSubMarca.getSelectedItem().toString().equalsIgnoreCase("POINTER")){
      precio= 95000;
   }
   
   }
   
   if(cmbMarca.getSelectedItem().toString().equalsIgnoreCase("Ford")){
   
   if(cmbSubMarca.getSelectedItem().toString().equalsIgnoreCase("FIESTA")){
       precio= 105000;
    }
   if(cmbSubMarca.getSelectedItem().toString().equalsIgnoreCase("MONDEO")){
       precio= 185000;
   }
   if(cmbSubMarca.getSelectedItem().toString().equalsIgnoreCase("FORD K")){
      precio= 90000;
   }
   }
   
   if(cmbMarca.getSelectedItem().toString().equalsIgnoreCase("Nissan")){
   if(cmbSubMarca.getSelectedItem().toString().equalsIgnoreCase("SENTRA")){
       precio= 115000;
    }
   if(cmbSubMarca.getSelectedItem().toString().equalsIgnoreCase("PLATINA")){
       precio= 98000;
   }
   if(cmbSubMarca.getSelectedItem().toString().equalsIgnoreCase("TSURU")){
      precio= 105000;
   }
   }
   
    total=total+precio;
   lista.clear();
   lista.addElement("Marca = "+cmbMarca.getSelectedItem().toString());
   lista.addElement("Sub Marca = "+cmbSubMarca.getSelectedItem().toString());
   lista.addElement("Precio = "+" $ "+precio);
   
   if(chbAire.isSelected()){
       double costo;
       costo=precio*0.05;
       lista.addElement("Aire acondicionado = "+" $"+costo);
       total=total+costo;
   }
   
   if(chbAsientos.isSelected()){
         double costo;
       costo=precio*0.15;
       lista.addElement("Asientos de piel = "+" $ "+costo);
       total=total+costo;
   }
   
   if(chbDireccionA.isSelected()){
         double costo;
       costo=precio*0.02;
        lista.addElement("Direccion Hidraulica =" +" $ "+costo);
       total=total+costo;
   }
   
   
   if(chbOtro.isSelected()){
       if(txtOtro.getText().length()==0){
             JOptionPane.showMessageDialog(null,"Ingrese nombre de servicio,,,");
             txtOtro.requestFocus();
      return;
       }
        double costo;
       costo=precio*0.05;
        lista.addElement(txtOtro.getText()+" $ "+costo);
       total=total+costo;
   }
   
    lista.addElement("Total costo = "+" $ "+total);
    listCotizacion.setModel(lista);
   
    }

Solo tengo una pregunta como puedo usar este metodo en la clase auto y no tenerlo todo en el evento.

Ya que me gistaria que los eventos estubieran mas limpios y solo llamarlos desde la clase auto al evento algo asi:
Código: [Seleccionar]
private void jbnCotizarActionPerformed(java.awt.event.ActionEvent evt) {
autoCo.botonCotiza();
//AutoCo es la instanacia
//bontonCotiza es la clase creada para usarla en el evento

espero haberme explicado y se entienda mi idea y gracias por responder.
« Última modificación: 16 de Abril 2017, 19:32 por Alex Rodríguez »

pedro,,

  • Moderador Global
  • Experto
  • *******
  • APR2.COM
  • Mensajes: 1292
    • Ver Perfil
Re:Crear un arreglo para JFrame Button
« Respuesta #3 en: 06 de Febrero 2017, 16:35 »
En cuanto a tu consulta, decirte que sí, el método que recoge el evento podría solo encargarse de llamar a otro método.

Pero según tienes el método jbnCotizarActionPerformed, ¿te funciona?

Te vuelvo a decir que si no pones la clase entera es complicado poder ayudarte.

Saludos. ;D

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".