Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Efliep en 28 de Enero 2017, 09:28
-
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
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
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
(http://i.imgur.com/qdIjxhU.png)
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.
-
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:
nombreBoton.addActionListener (new ActionListener() {
public void actionPerformed (ActionEvent e) {
// Aquí lo que desees que suceda cuando pulses el botón.
}
});
Saludos. ;D
-
Aqui esta el método:
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:
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.
-
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