Foro de elhacker.net

Programación => Java => Mensaje iniciado por: ArhennJosey en 15 Abril 2013, 00:26 am



Título: Ayuda con java
Publicado por: ArhennJosey en 15 Abril 2013, 00:26 am
Bunas tardes, necesito hacer un programa en java, con jdeveloper, estas son las especificaciones,
1. El usuario escribe el nombre del proveedor.
2. Selecciona el producto
3. Escribe la cantidad del producto.
4. Escribe el precio unitario.
5. Subtotal = Cantidad * PrecioUnitario
6. Se hace un descuento si el total de productos esta entre 5-10 del 2%, 11-15 del 4,5% y de   16 en adelante del 6%, todo sobre el subtotal.
El IVA equivale al 16% del subtotal - Decuento.
TOTAL = SUBTOTAL - DESCUENTOS + IVA.
Nota: Solo está activo el botón adicionar

he ehcho este código pero no he avanzado mas, hasta ahora llevo 2 meses aprendiendo ava y me esta dando duro:
CODIGO COMPRAS

package supercompras.modelo;

public class Compras {
    /**
     * @attribute
     */
    private int Cantidad;

    /**
     * @attribute
     */
    private double Subtotal;

    /**
     * @attribute
     */
    private double DescuentoPor;

    /**
     * @attribute
     */
    private double DescuentoDin;

    /**
     * @attribute
     */
    final public static double Iva=16/100;

    /**
     * @attribute
     */
    private int Total;
   
   
   

    public Compras() {
        Cantidad = 0;
       
       
       
    }

    public int getCantidad() {
        return Cantidad;
    }

    public double getDescuentoPor() {
        return DescuentoPor;
    }

    public double getDescuentoDin() {
        return DescuentoDin;
    }

    public double getIva() {
        return Iva;
    }

    public double getSubtotal() {
        return Subtotal;
    }

    public int getTotal() {
        return Total;
    }

    public void calcularDescuentoPor() {
       
    }

    public void calcularDescuentoDin(double Iva) {
        DescuentoPor = (double)(Total*Compras.Iva);
    }

    public void calcularIva() {
    }

    public void calcularSubtotal() {
        Subtotal = (int)(Cantidad*Producto.PrecioProd);
    }

    public void calcularTotal() {
        Total = (int)(Subtotal+DescuentoDin+Iva);
    }
   
   
}



CODIGO PRODUCTO
package supercompras.modelo;

public class Producto {
    /**
     * @attribute
     */
    private int CodigoProd;

    /**
     * @attribute
     */
    private String DescripcionProd;

    /**
     * @attribute
     */
    private int PrecioProd;

    /**
     * @attribute
     */
    private int StockProd;

    public Producto() {
        CodigoProd = 0;
        PrecioProd = 0;
        StockProd = 0;
    }

    public int getStockProd() {
        return StockProd;   
    }

    public int getCodigoProd() {
        return CodigoProd;
    }

    public String getDescripcionProd() {
        return DescripcionProd;
    }

    public int getPrecioProd() {
        return PrecioProd;
    }
}


CODIGO PROVEEDOR
package supercompras.modelo;

public class Proveedor {
    /**
     * @attribute
     */
    private int NitProv;

    /**
     * @attribute
     */
    private String DescripcionProv;

    public Proveedor() {
        NitProv= 0;
    }

    public String getDescripcionProv() {
        return DescripcionProv;
    }

    public int getNitProv() {
        return NitProv;
    }
}

quien me puede ayudar.


Título: Re: Ayuda con java
Publicado por: Mitgus en 15 Abril 2013, 02:44 am
Hola. No soy bueno explicando, de todos modos he comentado bien el código y creo que es bien comprensible  ;D

Solamente arréglale los cálculos sel subtotal, IVA, etc si están mal, que ahí estoy perdido y siempre me sale negativo  :xD

El procedimiento es muy sencillo:

Primero seleccionamos el producto del menú (no vale de nada ya que no dijiste que pre-establezcamos un precio unitario por cada producto, así sería más sencillo). Luego colocamos la cantidad de productos a comprar y luego el precio por unidad.

Al pulsar sobre "calcular", primero se extrae los Strings de textoCantidadProductos y textoPrecioUnitario, luego se convierten a double.
Luego, el if-else anidado le asigna a la variable "descuento" el descuento respectivo de acuerdo a la cantidad adquirida.

Luego ya simplemente se hacen los cálculos (que creo están mal, revísalos) para calcular el subtotal, el IVA, etc. Y por último se muestra la cantidad a pagar por medio de un cuadro de diálogo.


Una imagen de cómo queda(soy pésimo manejando layouts, estoy en eso perdona  ;D)

(http://i.imgur.com/zTQBwxS.jpg)

Código
  1. import javax.swing.JFrame;
  2. import javax.swing.JLabel;
  3. import javax.swing.JTextField;
  4. import javax.swing.JButton;
  5. import javax.swing.JComboBox;
  6. import javax.swing.SwingConstants;
  7. import javax.swing.JOptionPane;
  8. import javax.swing.JScrollPane;
  9.  
  10. import java.awt.FlowLayout;
  11. import java.awt.event.ActionListener;
  12. import java.awt.event.ActionEvent;
  13.  
  14. public class Productos extends JFrame
  15. {
  16.  private JLabel texto1,texto2,texto3; // textos de las etiquetas
  17.  private JTextField textoCantidadProducto, textoPrecioUnitario;
  18.  private JComboBox menuProductos;
  19.  private JButton calcular;
  20.  private String productos[] = {"Laptops","Mochilas","Apple's","TV's","Equipos"};
  21.  
  22.   private double total=0; // total a pagar
  23.   private double precioUnitario=0; // precio unitario de un producto
  24.   private double cantidad=0; // cantidad de productos
  25.   private double subTotal = 0;
  26.   private double descuento= 0;
  27.   private double totalNeto = 0; // neto a pagar (sin descuentos)
  28.   private double impuesto = 0; // descuento
  29.  
  30.   private static final double IVA = 0.16; // tasa de impuesto del IVA
  31.  
  32.  public Productos()
  33.   {
  34.    super("Calculadora de precios");
  35.    setLayout(new FlowLayout() );
  36.  
  37.    texto1 = new JLabel("Seleccione el producto");
  38.    add(texto1);
  39.  
  40.    // menu JComboBox para representar la lista de productos
  41.    menuProductos = new JComboBox(productos);
  42.    menuProductos.setMaximumRowCount(3);
  43.    add(new JScrollPane(menuProductos) );
  44.  
  45.    texto2 = new JLabel("Cantidad");
  46.    add(texto2);
  47.  
  48.    // JTextfield en donde se ingresa la cantidad de productos
  49.    textoCantidadProducto = new JTextField("",10);
  50.    add(textoCantidadProducto);
  51.  
  52.    texto3 = new JLabel("Precio por unidad");
  53.    add(texto3);
  54.  
  55.    // JTextField en donde se ingresa el precio unitario del producto
  56.    textoPrecioUnitario = new JTextField("",10);
  57.    add(textoPrecioUnitario);
  58.  
  59.    calcular = new JButton("Calcular");
  60.    add(calcular);
  61.    calcular.addActionListener(new ActionListener()
  62.     {
  63.  
  64.  
  65.  
  66.      public void actionPerformed(ActionEvent evento)
  67.       {
  68.        String textoMenu,textoCampoProductos,textoCampoPrecioU; // variables que guardan Strings de los JTextFields
  69.        if(evento.getSource()== calcular)
  70.         {
  71.           textoMenu = (String)menuProductos.getSelectedItem();
  72.           textoCampoProductos = textoCantidadProducto.getText(); // extrae el String del campo textoCantidadProductos
  73.           cantidad = Double.parseDouble(textoCampoProductos); // convierte el String a double
  74.           textoCampoPrecioU = textoPrecioUnitario.getText(); // extrae el String del JTextField textoPrecioUnitario
  75.           precioUnitario = Double.parseDouble(textoCampoPrecioU); // convierte el String a double
  76.  
  77.           // depende de la cantidad de productos se obtiene un descuento
  78.           if(cantidad>=0 && cantidad<=4){
  79.             descuento = 0; }
  80.  
  81.           else if(cantidad>=5 && cantidad<=10){
  82.           descuento = 0.2; }
  83.  
  84.           else if(cantidad>=11 && cantidad<=15){
  85.           descuento = 0.45; }
  86.  
  87.           else descuento = 0.6;
  88.  
  89.  
  90.  
  91.           // calcula el total a pagar
  92.           totalNeto = precioUnitario * cantidad;
  93.           descuento = totalNeto * descuento;
  94.           subTotal = totalNeto-descuento;
  95.           impuesto = (subTotal - descuento) * IVA;
  96.  
  97.           total = subTotal - descuento + impuesto;
  98.  
  99.  
  100.        }
  101.  
  102.         // muestra el total a pagar
  103.        JOptionPane.showMessageDialog(Productos.this,"El total a pagar es "+total);
  104.        }
  105.  
  106.  
  107.    }); // fin clase anonima
  108.  
  109.  } // fin constructor
  110.  
  111.  
  112. } // fin





Saludos y bendiciones.


Título: Re: Ayuda con java
Publicado por: ArhennJosey en 15 Abril 2013, 03:19 am
Gracias Caballero, segui trabajando y hasta el momento tengo esto, quisiera saber que debo arreglarle?

CODIGO COMPRAS

package supercompras.modelo;

public class Compras {
    /**
     * @attribute
     */
    private int Cantidad;

    /**
     * @attribute
     */
    private double Subtotal;

    /**
     * @attribute
     */
    private double DescuentoPor;

    /**
     * @attribute
     */
    private double DescuentoDin;

    /**
     * @attribute
     */
    final public static double Iva=16/100;

    /**
     * @attribute
     */
    private int Total;
   
     

    public Compras() {
        Cantidad = 0;
        DescuentoDin = 0;
        Subtotal = 0;
        Total = 0;       
    }
   
    public void asignarCompras(int Cantidad, int DescuentoDin, int Subtotal, int Total){
        Cantidad = 0;
        DescuentoDin = 0;
        Subtotal = 0;
        Total = 0;
    }

    public int getCantidad() {
        return Cantidad;
    }

    public double getDescuentoPor() {
        return DescuentoPor;
    }

    public double getDescuentoDin() {
        return DescuentoDin;
    }

    public double getIva() {
        return Iva;
    }

    public double getSubtotal() {
        return Subtotal;
    }

    public int getTotal() {
        return Total;
    }

    public void calcularDescuentoPor() {
                   
        if (Cantidad>=6 && Cantidad<=10)
            DescuentoPor= (int)(0.02);
        if (Cantidad>=11 && Cantidad<=15)
            DescuentoPor= (int)(0.045);
        if (Cantidad>=16)
            DescuentoPor= (int)(0.06);
        else
            DescuentoPor= (int)(0.0);
           
   }

    public void calcularDescuentoDin(double Iva) {
        if (Cantidad>=6 && Cantidad<=10)
            DescuentoDin= (int)(Subtotal*0.02);
        if (Cantidad>=11 && Cantidad<=15)
            DescuentoDin= (int)(Subtotal*0.045);
        if (Cantidad>=16)
            DescuentoDin= (int)(Subtotal*0.06);
        else
            DescuentoDin= (int)(0.0);
    }

    public void calcularIva() {
    }

    public void calcularSubtotal() {
       
    }

    public void calcularTotal() {
        Total = (int)(Subtotal+DescuentoDin+Iva);
    }
   
   
}




CODIGO PRODUCTO

package supercompras.modelo;

public class Producto {
    /**
     * @attribute
     */
    private int CodigoProd;

    /**
     * @attribute
     */
    private String DescripcionProd;

    /**
     * @attribute
     */
    private int PrecioProd;

    /**
     * @attribute
     */
    private int StockProd;

    public Producto() {
        CodigoProd = 0;
        PrecioProd = 0;
        StockProd = 0;
    }

    public int getStockProd() {
        return StockProd;   
    }

    public int getCodigoProd() {
        return CodigoProd;
    }

    public String getDescripcionProd() {
        return DescripcionProd;
    }

    public int getPrecioProd() {
        return PrecioProd;
    }
}



CODIGO PROVEEDOR

package supercompras.modelo;

public class Proveedor {
    /**
     * @attribute
     */
    private int NitProv;

    /**
     * @attribute
     */
    private String DescripcionProv;

    public Proveedor() {
        NitProv= 0;
    }

    public String getDescripcionProv() {
        return DescripcionProv;
    }

    public int getNitProv() {
        return NitProv;
    }
}



FRAME1

package supercompras.modelo;

import java.awt.Color;
import java.awt.Dimension;

import java.awt.EventQueue;
import java.awt.Font;
import java.awt.Rectangle;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import java.text.DecimalFormat;
import java.text.NumberFormat;

import javax.swing.BorderFactory;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
//import javax.swing.Swing.JOptioPane;
//import javax.text.DecimalFormat;
//import javax.text.NubmerFormat;

public class Frame1 extends JFrame {
    private Compras compras[] = new Compras[5];
    private Producto producto = new Producto();
    private Proveedor proveedor = new Proveedor();
    private JLabel jLabel1 = new JLabel();
    private JLabel jLabel2 = new JLabel();
    private JTextField jTextField1 = new JTextField();
    private JLabel jLabel3 = new JLabel();
    private JLabel jLabel4 = new JLabel();
    private JLabel jLabel5 = new JLabel();
    private JLabel jLabel6 = new JLabel();
    private JLabel jLabel7 = new JLabel();
    private JTextField jTextField2 = new JTextField();
    private JTextField jTextField3 = new JTextField();
    private JTextField jTextField4 = new JTextField();
    private JComboBox jComboBox1 = new JComboBox();
    private JLabel jLabel8 = new JLabel();
    private JLabel jLabel9 = new JLabel();
    private JLabel jLabel10 = new JLabel();
    private JLabel jLabel11 = new JLabel();
    private JLabel jLabel12 = new JLabel();
    private JTextField jTextField5 = new JTextField();
    private JTextField jTextField6 = new JTextField();
    private JTextField jTextField7 = new JTextField();
    private JTextField jTextField8 = new JTextField();
    private JTextField jTextField9 = new JTextField();
    private JButton jButton1 = new JButton();
    private JButton jButton2 = new JButton();
    private JButton jButton3 = new JButton();
    private JButton jButton4 = new JButton();
    private JButton jButton5 = new JButton();
    private JButton jButton6 = new JButton();
    private JButton jButton7 = new JButton();
    private JButton jButton8 = new JButton();
    private JButton jButton9 = new JButton();

    public Frame1() {
        try {
            jbInit();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    private void jbInit() throws Exception {
        this.getContentPane().setLayout( null );
        this.setSize(new Dimension(550, 567));
        this.setForeground(new Color(247, 255, 214));
        this.setBackground(new Color(0, 132, 198));
        jLabel1.setBounds(new Rectangle(200, 10, 245, 30));
        jLabel1.setText("PROGRAMA DE COMPRAS");
        jLabel1.setFont(new Font("Tahoma", 1, 17));
        jLabel2.setText("Proveedor");
        jLabel2.setBounds(new Rectangle(45, 60, 75, 20));
        jLabel2.setFont(new Font("Tahoma", 1, 13));
        jTextField1.setBounds(new Rectangle(130, 60, 150, 25));
        jLabel3.setText("Producto");
        jLabel3.setBounds(new Rectangle(10, 100, 80, 30));
        jLabel3.setFont(new Font("Tahoma", 1, 13));
        jLabel3.setBackground(Color.cyan);
        jLabel3.setBorder(BorderFactory.createLineBorder(Color.black, 1));
        jLabel3.setHorizontalAlignment(SwingConstants.CENTER);
        jLabel3.setHorizontalTextPosition(SwingConstants.CENTER);
        jLabel4.setText("Producto");
        jLabel4.setBounds(new Rectangle(65, 145, 70, 15));
        jLabel4.setFont(new Font("Tahoma", 1, 13));
        jLabel5.setText("Cantidad");
        jLabel5.setBounds(new Rectangle(220, 145, 85, 15));
        jLabel5.setFont(new Font("Tahoma", 1, 13));
        jLabel6.setText("Precio U.");
        jLabel6.setBounds(new Rectangle(335, 145, 80, 15));
        jLabel6.setFont(new Font("Tahoma", 1, 13));
        jLabel7.setText("Subtotal");
        jLabel7.setBounds(new Rectangle(440, 145, 70, 15));
        jLabel7.setFont(new Font("Tahoma", 1, 13));
        jTextField2.setBounds(new Rectangle(210, 175, 105, 25));
        jTextField3.setBounds(new Rectangle(325, 175, 90, 25));
        jTextField4.setBounds(new Rectangle(425, 175, 95, 25));
        jComboBox1.setBounds(new Rectangle(55, 175, 135, 25));
        jComboBox1.setLightWeightPopupEnabled(false);
        jLabel8.setText("Subtotal");
        jLabel8.setBounds(new Rectangle(315, 225, 65, 20));
        jLabel8.setFont(new Font("Tahoma", 1, 13));
        jLabel8.setSize(new Dimension(100, 15));
        jLabel9.setText("Descuento %");
        jLabel9.setBounds(new Rectangle(315, 265, 110, 15));
        jLabel9.setFont(new Font("Tahoma", 1, 13));
        jLabel9.setSize(new Dimension(100, 15));
        jLabel10.setText("Descuento $");
        jLabel10.setBounds(new Rectangle(315, 300, 85, 15));
        jLabel10.setFont(new Font("Tahoma", 1, 13));
        jLabel10.setSize(new Dimension(100, 15));
        jLabel11.setText("IVA");
        jLabel11.setBounds(new Rectangle(315, 335, 80, 15));
        jLabel11.setFont(new Font("Tahoma", 1, 13));
        jLabel11.setSize(new Dimension(100, 15));
        jLabel12.setText("TOTAL");
        jLabel12.setBounds(new Rectangle(315, 370, 85, 15));
        jLabel12.setFont(new Font("Tahoma", 1, 13));
        jLabel12.setSize(new Dimension(100, 15));
        jTextField5.setBounds(new Rectangle(430, 220, 90, 20));
        jTextField6.setBounds(new Rectangle(430, 260, 90, 20));
        jTextField7.setBounds(new Rectangle(430, 295, 90, 20));
        jTextField8.setBounds(new Rectangle(430, 330, 90, 20));
        jTextField9.setBounds(new Rectangle(430, 365, 90, 20));
        jButton1.setText("Adicionar");
        jButton1.setBounds(new Rectangle(10, 410, 90, 28));
        jButton1.setSize(new Dimension(90, 28));
        jButton1.setBackground(new Color(0, 132, 198));
        jButton1.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    jButton1_actionPerformed(e);
                }
            });
        jButton2.setText("Buscar");
        jButton2.setBounds(new Rectangle(115, 410, 90, 28));
        jButton2.setSize(new Dimension(90, 28));
        jButton2.setBackground(new Color(0, 132, 198));
        jButton3.setText("Borrar");
        jButton3.setBounds(new Rectangle(210, 410, 90, 28));
        jButton3.setSize(new Dimension(90, 28));
        jButton3.setBackground(new Color(0, 132, 198));
        jButton4.setText("Modificar");
        jButton4.setBounds(new Rectangle(305, 410, 90, 28));
        jButton4.setSize(new Dimension(90, 28));
        jButton4.setBackground(new Color(0, 132, 198));
        jButton5.setText("Primero");
        jButton5.setBounds(new Rectangle(10, 455, 90, 28));
        jButton5.setSize(new Dimension(90, 28));
        jButton5.setBackground(new Color(0, 132, 198));
        jButton6.setText("Anterior");
        jButton6.setBounds(new Rectangle(115, 455, 90, 28));
        jButton6.setSize(new Dimension(90, 28));
        jButton6.setBackground(new Color(0, 132, 198));
        jButton7.setText("Siguiente");
        jButton7.setBounds(new Rectangle(210, 455, 90, 28));
        jButton7.setSize(new Dimension(90, 28));
        jButton7.setBackground(new Color(0, 132, 198));
        jButton8.setText("Ultimo");
        jButton8.setBounds(new Rectangle(305, 455, 90, 28));
        jButton8.setSize(new Dimension(90, 28));
        jButton8.setBackground(new Color(0, 132, 198));
        jButton9.setText("Salir");
        jButton9.setBounds(new Rectangle(425, 455, 90, 28));
        jButton9.setSize(new Dimension(90, 28));
        jButton9.setBackground(new Color(0, 132, 198));
        jButton9.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    jButton9_actionPerformed(e);
                }
            });
        this.getContentPane().add(jButton9, null);
        this.getContentPane().add(jButton8, null);
        this.getContentPane().add(jButton7, null);
        this.getContentPane().add(jButton6, null);
        this.getContentPane().add(jButton5, null);
        this.getContentPane().add(jButton4, null);
        this.getContentPane().add(jButton3, null);
        this.getContentPane().add(jButton2, null);
        this.getContentPane().add(jButton1, null);
        this.getContentPane().add(jTextField9, null);
        this.getContentPane().add(jTextField8, null);
        this.getContentPane().add(jTextField7, null);
        this.getContentPane().add(jTextField6, null);
        this.getContentPane().add(jTextField5, null);
        this.getContentPane().add(jLabel12, null);
        this.getContentPane().add(jLabel11, null);
        this.getContentPane().add(jLabel10, null);
        this.getContentPane().add(jLabel9, null);
        this.getContentPane().add(jLabel8, null);
        this.getContentPane().add(jComboBox1, null);
        this.getContentPane().add(jTextField4, null);
        this.getContentPane().add(jTextField3, null);
        this.getContentPane().add(jTextField2, null);
        this.getContentPane().add(jLabel7, null);
        this.getContentPane().add(jLabel6, null);
        this.getContentPane().add(jLabel5, null);
        this.getContentPane().add(jLabel4, null);
        this.getContentPane().add(jLabel3, null);
        this.getContentPane().add(jTextField1, null);
        this.getContentPane().add(jLabel2, null);
        this.getContentPane().add(jLabel1, null);
        jComboBox1.setModel(new DefaultComboBoxModel());

    }
    private void btnSalir_actionPerformed(ActionEvent e) {
        dispose();
    }
    public static void main(String args[]) {
         EventQueue.invokeLater(new Runnable() {
               public void run() {
                   new Frame1().setVisible(true);
               }
           });

}
    private void jComboBox1_actionPerformed(ActionEvent e) {
       
    }

    private void jButton9_actionPerformed(ActionEvent e) {
        dispose();
      }


    private void jButton1_actionPerformed(ActionEvent e) {
            int i = 0, cantidad=0, valor=0;
                 String cadena, proveedor, apellido;
                 proveedor = JOptionPane.showInputDialog("NOMBRE PROVEEDOR");
                 cadena = JOptionPane.showInputDialog("CANTIDAD DE PRODUCTO");
                 cantidad = Integer.parseInt(cadena);
                 cadena = JOptionPane.showInputDialog("INGRESE VALOR UNITARIO");
                 valor = Integer.parseInt(cadena);
                 compras = new Compras();
                 compras.asignarCompras(proveedor, cantidad, valor);
                 compras.calcularDescuentoPor(Integer.parseInt(cadena));
                 compras.calcularDescuentoDin(Integer.parseInt(cadena));
                 compras.calcularSubtotal();
                 compras.calcularTotal(Integer.parseInt(cadena));
                 mostrar(i);
                 i++;
    }
   
    public void mostrar(int i)
        {
          DecimalFormat df = ( DecimalFormat )NumberFormat.getInstance( );
          df.applyPattern( "$###,##0.##" );
          jTextField1.setText(String.valueOf((compras.getDescripcionProv())));
          jTextField2.setText(df.format(compras.getCantidad()));
          jTextField3.setText(df.format(compras.getPrecioProd()));
          jTextField4.setText(df.format(compras.getSubtotal()));
          jTextField5.setText(df.format(compras.getSubtotal()));
          jTextField6.setText(df.format(compras.getDescuentoPor()));
          jTextField7.setText(df.format(compras.getDescuentoDin()));
          jTextField8.setText(df.format(compras.getTotal()));
         
         }
}

Le Agradezco su opinión.


Título: Re: Ayuda con java
Publicado por: Mitgus en 15 Abril 2013, 03:21 am
Ahora, de la forma que te indico es más sencillo: Crear un array de doubles para poner los precios unitarios de cada producto(de acuerdo al indice de orden de los productos).


(http://i.imgur.com/mbjVHIZ.jpg)


Código
  1. import javax.swing.JFrame;
  2. import javax.swing.JLabel;
  3. import javax.swing.JTextField;
  4. import javax.swing.JButton;
  5. import javax.swing.JComboBox;
  6. import javax.swing.JOptionPane;
  7. import javax.swing.JScrollPane;
  8. import java.text.DecimalFormat;
  9.  
  10. import java.awt.FlowLayout;
  11. import java.awt.event.ActionListener;
  12. import java.awt.event.ActionEvent;
  13.  
  14. public class Productos2 extends JFrame
  15. {
  16.  private JLabel texto1,texto2,texto3; // textos de las etiquetas
  17.  private JTextField textoCantidadProducto, textoPrecioUnitario;
  18.  private JComboBox menuProductos;
  19.  private JButton calcular;
  20.  private String productos[] = {"Laptops","Mochilas","Apple's","TV's","Equipos"};
  21.  private double precioProductos[] = {1490.9,32.5,3590.9,1540.5,999.9};
  22.  
  23.   private double total=0; // total a pagar
  24.   private double cantidad=0; // cantidad de productos
  25.   private double precioUnitario;
  26.   private double subTotal = 0;
  27.   private double descuento= 0;
  28.   private double totalNeto = 0; // neto a pagar (sin descuentos)
  29.   private double impuesto = 0; // descuento
  30.   private DecimalFormat formato = new DecimalFormat("0.00"); // para 'cortar' los decimales del double
  31.   private String textogetItemMenu;
  32.  
  33.   private static final double IVA = 0.16; // tasa de impuesto del IVA
  34.  
  35.  public Productos2()
  36.   {
  37.    super("Calculadora de precios");
  38.    setLayout(new FlowLayout() );
  39.  
  40.    texto1 = new JLabel("Seleccione el producto");
  41.    add(texto1);
  42.  
  43.    // menu JComboBox para representar la lista de productos
  44.    menuProductos = new JComboBox(productos);
  45.    menuProductos.setMaximumRowCount(3);
  46.    add(new JScrollPane(menuProductos) );
  47.  
  48.    texto2 = new JLabel("Cantidad");
  49.    add(texto2);
  50.  
  51.    // JTextfield en donde se ingresa la cantidad de productos
  52.    textoCantidadProducto = new JTextField("",10);
  53.    add(textoCantidadProducto);
  54.  
  55.    // creamos el boton y lo agregamos
  56.    calcular = new JButton("Calcular");
  57.    add(calcular);
  58.    // creamos una clase interna anonima para manejar el evento del boton
  59.    calcular.addActionListener(new ActionListener()
  60.     {
  61.  
  62.      public void actionPerformed(ActionEvent evento)
  63.       {
  64.        String textoCampoProductos;// variables que guardan Strings del JTextField
  65.        if(evento.getSource()== calcular)
  66.         {
  67.           textogetItemMenu = (String)menuProductos.getSelectedItem();
  68.           textoCampoProductos = textoCantidadProducto.getText(); // extrae el String del campo textoCantidadProductos
  69.           cantidad = Double.parseDouble(textoCampoProductos); // convierte el String a entero
  70.           precioUnitario = precioProductos[menuProductos.getSelectedIndex()]; // extrae el String del JTextField textoPrecioUnitario
  71.  
  72.  
  73.           // depende de la cantidad de productos se obtiene un descuento
  74.           if(cantidad>=0 && cantidad<=4){
  75.             descuento = 0; }
  76.  
  77.           else if(cantidad>=5 && cantidad<=10){
  78.           descuento = 0.2; }
  79.  
  80.           else if(cantidad>=11 && cantidad<=15){
  81.           descuento = 0.45; }
  82.  
  83.           else descuento = 0.6;
  84.  
  85.  
  86.  
  87.           // calcula el total a pagar
  88.           totalNeto = precioUnitario * cantidad;
  89.           descuento = totalNeto * descuento;
  90.           subTotal = totalNeto-descuento;
  91.           impuesto = (subTotal - descuento) * IVA;
  92.  
  93.           total = subTotal - descuento + impuesto;
  94.  
  95.  
  96.        }
  97.  
  98.         // muestra el total a pagar
  99.        JOptionPane.showMessageDialog(Productos2.this,"Ha adquirido "+textogetItemMenu+". El total a pagar es "+formato.format(total));
  100.        }
  101.  
  102.  
  103.    }); // fin clase anonima
  104.  
  105.  } // fin constructor
  106.  
  107.  
  108. } // fin


Quizás te llame la atención ésta línea:

precioUnitario = precioProductos[menuProductos.getSelectedIndex()];

Bien, te explico. PecioUnitario va a guardar el precio unitario del producto elegido. Ahora, para saber qué producto elige el usario en un JComboBox, se llama al método getSelectedItem(), pero no lo vamos a usar. ¿Por qué?

Sencillo, por que hemos "asociado" el array precioProductos con el array productos. De esta manera podemos obtener el precio unitario del ítem escogido, para esto nos es útil el método getSelectedIndex(), para obtener el subíndice del menú de items. Osea:

precioProductos[menuProductos.getSelectedIndex() -> esto devuelve un entero. Por ejemplo si elegimos TV's, devolverá el subíndice del array, en este caso 3 (recuerda que un array cuenta sus subíndices desde 0).

Por ejemplo, el ejemplo anterior se reduce a:

precioProductos[3] -> Y obtenemos el precio unitario de la casilla 3 del array precioProductos, en este caso TV's.





Saludos y bendiciones  :)


Título: Re: Ayuda con java
Publicado por: Mitgus en 15 Abril 2013, 03:24 am
Amigo, edita tu post y coloca tu código entre las etiquetas {code==java} {/code}  Cambiar { por [ y } por ]

Es difiícil comprender el código así. También borra los comentarios entre declaraciones de variables, dificultan la lectura del código.

Dime, por qué haces esto?

Citar
public void calcularDescuentoPor() {
                   
        if (Cantidad>=6 && Cantidad<=10)
            DescuentoPor= (int)(0.02);
        if (Cantidad>=11 && Cantidad<=15)
            DescuentoPor= (int)(0.045);
        if (Cantidad>=16)
            DescuentoPor= (int)(0.06);
        else
            DescuentoPor= (int)(0.0);
           
   }

Por qué realizas el cast a int. En todos los casos te dará 0, por que int NO redondea automáticamente, necesitas de la clase Math para eso.


Título: Re: Ayuda con java
Publicado por: ArhennJosey en 15 Abril 2013, 03:31 am
gracias caballero, creo que ahí seria un doublé, otra cosa, el proyecto lo hago asi, porque es un parcial y debo presentarlo como indica el docente, quería subir una imagen de como debe ir el formulario para que lo mires, pero no se como. Me ayudas.
Gracias.


Título: Re: Ayuda con java
Publicado por: Mitgus en 15 Abril 2013, 03:37 am
Hola,

Para subir la imagen basta con subir la imagen a www.imgur.com Dale clic en Browse, ve al directorio de tu imagen y la eliges. Luego le das a Start Upload, cuando termine a la derecha le darán muchos links, escoja el segundo, y por último simplemente pega el link entre el código [img}tuimagen[/img]. } = ] { = [

PD: Lo de poner el código entre {code==java} {/code} lo decía para poder ver mejor el código. y el /*atribute*/ cambialo por // atribute es mucho mejor.



Saludos y bendiciones  :)


Título: Re: Ayuda con java
Publicado por: ArhennJosey en 15 Abril 2013, 03:49 am
HOLA,
ESTA ES LA IMAGEN DE COMO DEBE QUEDAR EL FORMULARIO.
Gracias

(http://i.imgur.com/QHcZh5z.jpg?1)


Título: Re: Ayuda con java
Publicado por: ArhennJosey en 15 Abril 2013, 03:54 am
Esa es la imagen, como te das cuenta, debo Escribir el Poveedro, luego escoger el articulo, luego ingresar cantidad,  y luego precio unitario, me debe dar un subtotal, también cual es el porcentaje de descuento, cuanto es en dinero y el total.
Todo debe estar bajo los siguientes parámetros:

1. El usuario escribe el nombre del proveedor.
2. Selecciona el producto
3. Escribe la cantidad del producto.
4. Escribe el precio unitario.
5. Subtotal = Cantidad * PrecioUnitario
6. Se hace un descuento si el total de productos esta entre 5-10 del 2%, 11-15 del 4,5% y de   16 en adelante del 6%, todo sobre el subtotal.
El IVA equivale al 16% del subtotal - Decuento.
TOTAL = SUBTOTAL - DESCUENTOS + IVA.
Nota: Solo está activo el botón adicionar

deben ser tres clases.

Gracias, tu ayuda es invaluable.


Título: Re: Ayuda con java
Publicado por: Mitgus en 15 Abril 2013, 03:59 am
Puff, se ve "algo complicado". Creo que podría ayudarte en lo que a implementación respecta, pero la interfaz gráfica no podré ayudarte, soy malísimo manejando Layouts.

Te recomiendo que realices primero el frame con los JTextFields, los JButtons y el menú JComboBox y luego pasamos a programar los eventos, te parece?


Saludos y bendiciones  :)


Título: Re: Ayuda con java
Publicado por: ArhennJosey en 15 Abril 2013, 04:09 am
HOla, gracias. la verdad no es complicado, es solo que cuando no se tiene el conocimiento pues se hace complicado, te voy a enviar otro código de un programa que funciona ala perfeccion y es por el mismo estilo,
Código:

package superEmpleado.modelo;

public class Empleado {
    /**
     * @attribute
     */
    private String apeEmpleado;

    /**
     * @attribute
     */
    private int auxTrans;

    /**
     * @attribute
     */
    private int codigo;

    /**
     * @attribute
     */
    private int fsp;

    /**
     * @attribute
     */
    private String nombreEmpleado;

    /**
     * @attribute
     */
    private int pension;

    /**
     * @attribute
     */
    private int quincena;

    /**
     * @attribute
     */
    private int salario;

    /**
     * @attribute
     */
    private int salud;

    /**
     * @attribute
     */
    private int totalDescuento;

    /**
     * @attribute
     */
    private int totalDevengado;

    /**
     * @attribute
     */
    private int totalPagar;

    public Empleado() {
        codigo = 0;
        nombreEmpleado = "";
        apeEmpleado = "";
        salario = 0;
        quincena = 0;
        auxTrans = 0;
        totalDevengado = 0;
        salud = 0;
        pension = 0;
        fsp = 0;
        totalDescuento = 0;
        totalPagar = 0;
    }

    public void asignarEmpleado(int codP, String nomP, String apeP, int salP) {
        codigo = codP;
        nombreEmpleado = nomP;
        apeEmpleado = apeP;
        salario = salP;
        quincena = 0;
        auxTrans = 0;
        totalDevengado = 0;
        salud = 0;
        pension = 0;
        fsp = 0;
        totalDescuento = 0;
        totalPagar = 0;
    }

    public void calcularAuxTransporte(int dias) {
        if (salario <= 2 * Empresa.SML)
            auxTrans = (dias * Empresa.AT / 30);
        else
            auxTrans = 0;
    }

    public void calcularFSP(int dias) {
        if (salario >= 4 * Empresa.SML)
            fsp = (int) (salario * dias / 30 * Empresa.FSP);
        else
            fsp = 0;
    }

    public void calcularPension(int dias) {
      pension = (int) (salario * dias / 30 * Empresa.PENSION);
    }

    public void calcularQuincena(int dias) {
        quincena = (int) (salario * dias / 30);
    }

    public void calcularSalud(int dias) {
        salud = (int) (salario * dias / 30 * Empresa.SALUD);
    }

    public void calcularTotalDescuentos() {
        totalDescuento = salud + pension + fsp;
    }

    public void calcularTotalDevengado() {
        totalDevengado = quincena + auxTrans;
    }

    public void calcularTotalPagar() {
        totalPagar = totalDevengado - totalDescuento;
    }

    public String getApeEmpleado() {
        return apeEmpleado;
    }

    public int getAuxTrans() {
      return auxTrans;
    }

    public int getCodigo() {
        return codigo;
    }

    public int getFSP() {
      return fsp;
    }

    public String getNombreEmpleado() {
        return nombreEmpleado;
    }

    public int getPension() {
        return pension;
    }

    public int getQuincena() {
        return quincena;
    }

    public int getSalario() {
        return salario;
    }

    public int getSalud() {
      return salud;
    }

    public int getTotalDevengado() {
      return totalDevengado;
    }
   
    public int getTotalPagar(){
        return totalPagar;
    }
   
    public int getTotalDescuentos(){
       return totalDescuento;
    }
}

ese se llama empelado
Código:
package superEmpleado.modelo;

public class Empresa {
    /**
     * @attribute
     */
    final public static int AT = 70500;

    /**
     * @attribute
     */
    final public static double CAJA = 0.04;

    /**
     * @attribute
     */
    final public static double FSP = 0.01;

    /**
     * @attribute
     */
    final public static double ICBF = 0.03;

    /**
     * @attribute
     */
    final public static double PENSION = 0.04;

    /**
     * @attribute
     */
    final public static double SALUD = 0.04;
   
    /**
    * @attribute
    */
    final public static double SENA = 0.02;

    /**
     * @attribute
     */
    final public static int SML = 589500;
   
    private Empleado empleado[];

    /**
     * @attribute
     */
    private int caja;

    /**
     * @attribute
     */
    private int cesantias;

    /**
     * @attribute
     */
    private int icbf;

    /**
     * @attribute
     */
    private int interesesCesantias;

    /**
     * @attribute
     */
    private int sena;
   
    /**
     * @attribute
     */
    private int totalNomina;

    /**
     * @attribute
     */
    private int totalParafiscales;
   
    /**
     * @attribute
     */
    private int totalPagar;

    public Empresa() {
        sena = 0;
        icbf = 0;
        caja = 0;
        totalParafiscales = 0;
        interesesCesantias = 0;
        totalNomina = 0;
        empleado = new Empleado[5];
    }

    public void CalcularParafiscales() {
      totalParafiscales = (sena + icbf + caja);
    }

    public void calcularCaja() {
        caja = (int) (totalNomina * CAJA);
    }

    public void calcularCesantias() {
        cesantias = (int)(totalNomina / 12);
    }

    public void calcularICBF() {
      icbf = (int) (totalNomina * ICBF);
    }

    public void calcularSena() {
      sena = (int)(totalNomina * SENA);
    }

    public void calcularTotalNomina(int totalPago) {
        totalNomina += totalPago;
    }
   
    public int getCaja() {
        return caja;
    }

    public int getCesantias() {
        return cesantias;
    }

    public int getIcbf() {
      return icbf;
    }

    public int getInteresesCesantias() {
        return interesesCesantias;
    }

    public int getSena() {
        return sena;
    }

    public int getTotalNomina() {
        return totalNomina;
    }

    public int getTotalParafiscales() {
        return totalParafiscales;
    }
   
}

este se llama empresa

Código:
package superEmpleado.modelo;

import java.awt.Button;
import java.awt.Color;
import java.awt.Dimension;

import java.awt.EventQueue;
import java.awt.Font;
import java.awt.Rectangle;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import java.text.DecimalFormat;

import java.text.NumberFormat;

import javax.swing.JEditorPane;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JSeparator;

public class Frame1 extends JFrame {
    private Empleado empleado[] = new Empleado[5];
    private Empresa empresa = new Empresa();
    private JLabel jLabel1 = new JLabel();
    private JEditorPane textCodigo= new JEditorPane();
    private JLabel jLabel2 = new JLabel();
    private JEditorPane textNombre = new JEditorPane();
    private JLabel jLabel3 = new JLabel();
    private JEditorPane textApellido = new JEditorPane();
    private JSeparator jSeparator1 = new JSeparator();
    private Button button1 = new Button();
    private Button button2 = new Button();
    private Button button3 = new Button();
    private JSeparator jSeparator2 = new JSeparator();
    private JLabel jLabel4 = new JLabel();
    private JLabel jLabel5 = new JLabel();
    private JLabel jLabel6 = new JLabel();
    private JLabel jLabel7 = new JLabel();
    private JLabel jLabel8 = new JLabel();
    private JEditorPane textSalario = new JEditorPane();
    private JEditorPane textQuincena = new JEditorPane();
    private JEditorPane textTransporte = new JEditorPane();
    private JEditorPane textTotalDevengado = new JEditorPane();
    private JLabel jLabel9 = new JLabel();
    private JLabel jLabel10 = new JLabel();
    private JLabel jLabel11 = new JLabel();
    private JLabel jLabel12 = new JLabel();
    private JEditorPane textPension = new JEditorPane();
    private JEditorPane textSalud = new JEditorPane();
    private JEditorPane textFSP = new JEditorPane();
    private JEditorPane textTotalDescuentos = new JEditorPane();
    private JLabel jLabel13 = new JLabel();
    private JLabel jLabel14 = new JLabel();
    private JEditorPane textPagar = new JEditorPane();
    private JEditorPane textAcumuladoNomina = new JEditorPane();

    public Frame1() {
        try {
            jbInit();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    private void jbInit() throws Exception {
        this.getContentPane().setLayout( null );
        this.setSize(new Dimension(565, 458));
        this.setForeground(new Color(66, 132, 255));
        jLabel1.setText("Codigo");
        jLabel1.setBounds(new Rectangle(35, 20, 55, 15));
        jLabel1.setFont(new Font("Tahoma", 0, 17));
        jLabel1.setForeground(new Color(0, 0, 214));
        textCodigo.setBounds(new Rectangle(90, 15, 85, 20));
        textCodigo.setFont(new Font("Tahoma", 0, 14));
        textCodigo.setForeground(new Color(0, 0, 214));
        jLabel2.setText("Nombre");
        jLabel2.setBounds(new Rectangle(195, 20, 55, 15));
        jLabel2.setFont(new Font("Tahoma", 0, 17));
        jLabel2.setForeground(new Color(0, 0, 214));
        textNombre.setBounds(new Rectangle(260, 15, 95, 20));
        textNombre.setFont(new Font("Tahoma", 0, 14));
        textNombre.setForeground(new Color(0, 0, 214));
        jLabel3.setText("Apellido");
        jLabel3.setBounds(new Rectangle(365, 20, 55, 15));
        jLabel3.setFont(new Font("Tahoma", 0, 17));
        jLabel3.setForeground(new Color(0, 0, 214));
        textApellido.setBounds(new Rectangle(425, 15, 103, 18));
        textApellido.setFont(new Font("Tahoma", 0, 14));
        textApellido.setForeground(new Color(0, 0, 214));
        jSeparator1.setBounds(new Rectangle(40, 55, 475, 5));
        jSeparator1.setFont(new Font("Tahoma", 0, 14));
        jSeparator1.setForeground(new Color(0, 0, 214));
        button1.setLabel("Adiciona Empleado");
        button1.setBounds(new Rectangle(40, 70, 155, 20));
        button1.setFont(new Font("Tahoma", 0, 14));
        button1.setForeground(new Color(0, 0, 214));
        button1.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    btnDatos_actionPerformed(e);
                }
            });
        button2.setLabel("Nomina");
        button2.setBounds(new Rectangle(240, 70, 135, 20));
        button2.setFont(new Font("Tahoma", 0, 14));
        button2.setForeground(new Color(0, 0, 214));
        button2.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    btnNomina_actionPerformed(e);
                }
            });
        button3.setLabel("Salir");
        button3.setBounds(new Rectangle(425, 70, 90, 20));
        button3.setFont(new Font("Tahoma", 0, 14));
        button3.setForeground(new Color(0, 0, 214));
        button3.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    btnSalir_actionPerformed(e);
                }
            });
        jSeparator2.setBounds(new Rectangle(40, 100, 475, 5));
        jSeparator2.setFont(new Font("Tahoma", 0, 14));
        jSeparator2.setForeground(new Color(0, 0, 214));
        jLabel4.setText("RESULTADO NOMINA");
        jLabel4.setBounds(new Rectangle(200, 130, 200, 15));
        jLabel4.setFont(new Font("Tahoma", 1, 17));
        jLabel4.setForeground(new Color(0, 0, 214));
        jLabel5.setText("Salario Base");
        jLabel5.setBounds(new Rectangle(45, 195, 105, 15));
        jLabel5.setFont(new Font("Tahoma", 0, 17));
        jLabel5.setForeground(new Color(0, 0, 214));
        jLabel6.setText("Quncena");
        jLabel6.setBounds(new Rectangle(45, 220, 100, 15));
        jLabel6.setFont(new Font("Tahoma", 0, 17));
        jLabel6.setForeground(new Color(0, 0, 214));
        jLabel7.setText("Transporte");
        jLabel7.setBounds(new Rectangle(45, 245, 110, 15));
        jLabel7.setFont(new Font("Tahoma", 0, 17));
        jLabel7.setForeground(new Color(0, 0, 214));
        jLabel8.setText("Total");
        jLabel8.setBounds(new Rectangle(45, 270, 34, 14));
        jLabel8.setFont(new Font("Tahoma", 0, 17));
        jLabel8.setForeground(new Color(0, 0, 214));
        textSalario.setBounds(new Rectangle(160, 190, 103, 18));
        textSalario.setFont(new Font("Tahoma", 0, 14));
        textSalario.setForeground(new Color(0, 0, 214));
        textQuincena.setBounds(new Rectangle(160, 215, 103, 18));
        textQuincena.setFont(new Font("Tahoma", 0, 14));
        textQuincena.setForeground(new Color(0, 0, 214));
        textTransporte.setBounds(new Rectangle(160, 240, 103, 18));
        textTransporte.setFont(new Font("Tahoma", 0, 14));
        textTransporte.setForeground(new Color(0, 0, 214));
        textTotalDevengado.setBounds(new Rectangle(160, 265, 103, 18));
        textTotalDevengado.setFont(new Font("Tahoma", 0, 14));
        textTotalDevengado.setForeground(new Color(0, 0, 214));
        jLabel9.setText("Pension");
        jLabel9.setBounds(new Rectangle(285, 190, 85, 15));
        jLabel9.setFont(new Font("Tahoma", 0, 17));
        jLabel9.setForeground(new Color(0, 0, 214));
        jLabel10.setText("Salud");
        jLabel10.setBounds(new Rectangle(285, 215, 40, 15));
        jLabel10.setFont(new Font("Tahoma", 0, 17));
        jLabel10.setForeground(new Color(0, 0, 214));
        jLabel11.setText("FSP");
        jLabel11.setBounds(new Rectangle(285, 240, 40, 14));
        jLabel11.setFont(new Font("Tahoma", 0, 17));
        jLabel11.setForeground(new Color(0, 0, 214));
        jLabel12.setText("Total Parafiscales");
        jLabel12.setBounds(new Rectangle(285, 265, 110, 15));
        jLabel12.setFont(new Font("Tahoma", 0, 17));
        jLabel12.setForeground(new Color(0, 0, 214));
        textPension.setBounds(new Rectangle(405, 185, 103, 18));
        textPension.setFont(new Font("Tahoma", 0, 14));
        textPension.setForeground(new Color(0, 0, 214));
        textSalud.setBounds(new Rectangle(405, 210, 103, 18));
        textSalud.setFont(new Font("Tahoma", 0, 14));
        textSalud.setForeground(new Color(0, 0, 214));
        textFSP.setBounds(new Rectangle(405, 235, 103, 18));
        textFSP.setFont(new Font("Tahoma", 0, 14));
        textFSP.setForeground(new Color(0, 0, 214));
        textTotalDescuentos.setBounds(new Rectangle(405, 260, 103, 18));
        textTotalDescuentos.setFont(new Font("Tahoma", 0, 14));
        textTotalDescuentos.setForeground(new Color(0, 0, 214));
        jLabel13.setText("Total a Pagar");
        jLabel13.setBounds(new Rectangle(45, 325, 105, 15));
        jLabel13.setFont(new Font("Tahoma", 0, 17));
        jLabel13.setForeground(new Color(0, 0, 214));
        jLabel14.setText("Acumulado Nomina");
        jLabel14.setBounds(new Rectangle(45, 360, 105, 15));
        jLabel14.setFont(new Font("Tahoma", 0, 17));
        jLabel14.setForeground(new Color(0, 0, 214));
        textPagar.setBounds(new Rectangle(275, 315, 160, 20));
        textPagar.setFont(new Font("Tahoma", 0, 14));
        textPagar.setForeground(new Color(0, 0, 214));
        textAcumuladoNomina.setBounds(new Rectangle(275, 350, 160, 20));
        textAcumuladoNomina.setFont(new Font("Tahoma", 0, 14));
        textAcumuladoNomina.setForeground(new Color(0, 0, 214));
        this.getContentPane().add(textAcumuladoNomina, null);
        this.getContentPane().add(textPagar, null);
        this.getContentPane().add(jLabel14, null);
        this.getContentPane().add(jLabel13, null);
        this.getContentPane().add(textTotalDescuentos, null);
        this.getContentPane().add(textFSP, null);
        this.getContentPane().add(textSalud, null);
        this.getContentPane().add(textPension, null);
        this.getContentPane().add(jLabel12, null);
        this.getContentPane().add(jLabel11, null);
        this.getContentPane().add(jLabel10, null);
        this.getContentPane().add(jLabel9, null);
        this.getContentPane().add(textTotalDevengado, null);
        this.getContentPane().add(textTransporte, null);
        this.getContentPane().add(textQuincena, null);
        this.getContentPane().add(textSalario, null);
        this.getContentPane().add(jLabel8, null);
        this.getContentPane().add(jLabel7, null);
        this.getContentPane().add(jLabel6, null);
        this.getContentPane().add(jLabel5, null);
        this.getContentPane().add(jLabel4, null);
        this.getContentPane().add(jSeparator2, null);
        this.getContentPane().add(button3, null);
        this.getContentPane().add(button2, null);
        this.getContentPane().add(button1, null);
        this.getContentPane().add(jSeparator1, null);
        this.getContentPane().add(textApellido, null);
        this.getContentPane().add(jLabel3, null);
        this.getContentPane().add(textNombre, null);
        this.getContentPane().add(jLabel2, null);
        this.getContentPane().add(textCodigo, null);
        this.getContentPane().add(jLabel1, null);
    }
 
    private void btnDatos_actionPerformed(ActionEvent e) {
      int i = 0, codigo=0, salario=0;
           String cadena, nombre, apellido;
           cadena = JOptionPane.showInputDialog("CODIGO EMPLEADO");
           codigo = Integer.parseInt(cadena);
           nombre = JOptionPane.showInputDialog("NOMBRE EMPLEADO");
           apellido = JOptionPane.showInputDialog("APELLIDO EMPLEADO");
           cadena = JOptionPane.showInputDialog("SALARIO DEL EMPLEADO");
           salario = Integer.parseInt(cadena);
           empleado[i] = new Empleado();
           empleado[i].asignarEmpleado(codigo, nombre, apellido,salario);
           mostrar(i);
           i++;
    }

    private void btnNomina_actionPerformed(ActionEvent e) {
      int i=0;
            String cadena =JOptionPane.showInputDialog("Digite los días laborados por el empleado");
            empleado[i].calcularQuincena(Integer.parseInt(cadena));
            empleado[i].calcularAuxTransporte(Integer.parseInt(cadena));
            empleado[i].calcularTotalDevengado();
            empleado[i].calcularSalud(Integer.parseInt(cadena));
            empleado[i].calcularPension(Integer.parseInt(cadena));
            empleado[i].calcularFSP(Integer.parseInt(cadena));
            empleado[i].calcularTotalDescuentos();
            empleado[i].calcularTotalPagar();
            //empresa.calcularTotalNomina(empleado[i].darTotalPagar());

            mostrar(i);
            i++;
    }

  public void mostrar(int i)
      {
        DecimalFormat df = ( DecimalFormat )NumberFormat.getInstance( );
        df.applyPattern( "$###,##0.##" );
        textCodigo.setText(String.valueOf(empleado[i].getCodigo()));
        textNombre.setText(empleado[i].getNombreEmpleado());
        textApellido.setText(empleado[i].getApeEmpleado());
        textSalario.setText(df.format(empleado[i].getSalario()));
        textQuincena.setText(df.format(empleado[i].getQuincena()));
        textTransporte.setText(df.format(empleado[i].getAuxTrans()));
        textTotalDevengado.setText(df.format(empleado[i].getTotalDevengado()));
        textSalud.setText(df.format(empleado[i].getSalud()));
        textPension.setText(df.format(empleado[i].getPension()));
        textFSP.setText(df.format(empleado[i].getFSP()));
        textTotalDescuentos.setText(df.format(empleado[i].getTotalDescuentos()));
        textPagar.setText(df.format(empleado[i].getTotalPagar()));
        //acumula el total a pagar del empleado utilizando el metodo calcularTotalNomina de Empresa
        empresa.calcularTotalNomina(empleado[i].getTotalPagar());
        //Asigna al textbox el total que se acumula mediante el método darTotalNomina
        textAcumuladoNomina.setText(df.format(empresa.getTotalNomina()));
       }
    private void btnSalir_actionPerformed(ActionEvent e) {
        dispose();
    }
  public static void main(String args[]) {
         EventQueue.invokeLater(new Runnable() {
               public void run() {
                   new Frame1().setVisible(true);
               }
           });
       }

}



y este es el frame1. la parte grafica es parecida, este código funciona perfecto, desede ahí me he estado guiando.
Gracias nuevamente.
estare en contacto el dia de mañana nuevamente.


Título: Re: Ayuda con java
Publicado por: Mitgus en 15 Abril 2013, 04:42 am
Por lo que veo no usas Layout, por lo que se facilita un poco para mí. Habrá que hacer forzosamente un setResizable(false).

Te parece si lo programamos por privado?

Dame tu skype(entras con tu cuenta hotmail) y por allí lo vemos mucho mejor.


Me dejas el skype que ya voy para la cama.



Un saludo y bendiciones  :).


Título: Re: Ayuda con java
Publicado por: Mitgus en 15 Abril 2013, 21:08 pm
Mira, he estado trasteando un poco viendo como quedaría la "Interfaz" xD

Qué te parece?

(http://i.imgur.com/H6nJzTX.jpg)



Bendiciones.


Título: Re: Ayuda con java
Publicado por: ArhennJosey en 15 Abril 2013, 21:13 pm
p


Título: Re: Ayuda con java
Publicado por: ArhennJosey en 15 Abril 2013, 21:15 pm
UFFFF, esta quedando supero, yo estoy tratando de hacerl aui en el trabajo pero no he avanzado, estoy varado en la parte del frame, me salen errores, pero no entiendo como arregarlos, cualquier avance lo prublico, te envie mi skype en un mensjae personal.
Gracias.


Título: Re: Ayuda con java
Publicado por: Mitgus en 16 Abril 2013, 04:23 am
Me gusta el proyecto, es interesante ^.^. Esto es lo que voy hasta el momento. Los botones de abajo, como Primero, Anterior, Siguiente, Último aún no los termino.

(http://i.imgur.com/RVJgrfl.jpg)
Imagen en trabajo


Frame:

Código
  1. import javax.swing.JFrame;
  2. import javax.swing.JLabel;
  3. import javax.swing.JTextField;
  4. import javax.swing.JComboBox;
  5. import javax.swing.JButton;
  6. import javax.swing.JPanel;
  7. import java.awt.event.ActionEvent;
  8. import java.awt.event.ActionListener;
  9. import java.awt.Color;
  10. import java.text.DecimalFormat;
  11.  
  12.  
  13. public class SistemaVentas extends JFrame
  14. {
  15.  // componentes del Frame
  16.  // textos
  17.  JLabel textoProveedor, textoProducto, textoCantidad, textoPrecioU, textoSubTotal, textoDescuentoPOR, textoDescuentoDIN, textoImpuestoIVA, textoTotalPagar;
  18.  // campos de textos
  19.  JTextField campoTextoProveedor, campoTextoCantidad, campoTextoPrecioU, campoTextoSubTotal, campoTextoDescuentoPOR,
  20.  campoTextoDescuentoDIN, campoTextoIVA, campoTextoTotalPagar;
  21.  // menu combobox
  22.  JComboBox stockProductos;
  23.  // botones
  24.  JButton botonProcesar, botonBuscar, botonBorrar, botonModificar, botonPrimero, botonAnterior,
  25.  botonSiguiente, botonUltimo, botonSalir;
  26.  
  27.  // variables nativas
  28.  String nombresProductos[] = {"Portátil Veltron","MacBook Pro","Led Full HD","Tablet Sony"};
  29.  DecimalFormat formatear = new DecimalFormat("0.00");
  30.  
  31.  public SistemaVentas()
  32.  {
  33.    super("Programa de compras - Por Mitsu");
  34.    setLayout(null);
  35.  
  36.    // cabecera superior
  37.  
  38.    textoProveedor = new JLabel("Proveedor");
  39.    textoProveedor.setBounds(35,40,70,20);
  40.    add(textoProveedor);
  41.  
  42.    campoTextoProveedor = new JTextField("",20);
  43.    campoTextoProveedor.setBounds(100,35,110,30);
  44.    add(campoTextoProveedor);
  45.  
  46.  
  47.  
  48.    // Elementos de la cabecera
  49.  
  50.  
  51.    textoProducto = new JLabel("Producto");
  52.    textoProducto.setBounds(85,75,60,40);
  53.    add(textoProducto);
  54.  
  55.    stockProductos = new JComboBox(nombresProductos);
  56.    stockProductos.setBounds(32,115,160,30);
  57.    add(stockProductos);
  58.  
  59.    textoCantidad = new JLabel("Cantidad");
  60.    textoCantidad.setBounds(305,75,60,40);
  61.    add(textoCantidad);
  62.  
  63.    campoTextoCantidad = new JTextField("",20);
  64.    campoTextoCantidad.setBounds(280,115,110,30);
  65.    add(campoTextoCantidad);
  66.  
  67.    textoPrecioU = new JLabel("Precio Unitario");
  68.    textoPrecioU.setBounds(448,75,85,40);
  69.    add(textoPrecioU);
  70.  
  71.    campoTextoPrecioU = new JTextField("",20);
  72.    campoTextoPrecioU.setBounds(430,116,110,30);
  73.    add(campoTextoPrecioU);
  74.  
  75.  
  76.  
  77.    // cuerpo
  78.  
  79.  
  80.    textoSubTotal = new JLabel("Subtotal");
  81.    textoSubTotal.setBounds(305,185,60,40);
  82.    add(textoSubTotal);
  83.  
  84.    campoTextoSubTotal = new JTextField("",20);
  85.    campoTextoSubTotal.setBounds(430,190,110,30);
  86.    add(campoTextoSubTotal);
  87.  
  88.    textoDescuentoPOR = new JLabel("Descuento %");
  89.    textoDescuentoPOR.setBounds(305,225,80,40);
  90.    add(textoDescuentoPOR);
  91.  
  92.    campoTextoDescuentoPOR = new JTextField("",20);
  93.    campoTextoDescuentoPOR.setBounds(430,230,110,30);
  94.    add(campoTextoDescuentoPOR);
  95.  
  96.    textoDescuentoDIN = new JLabel("Descuento $");
  97.    textoDescuentoDIN.setBounds(305,265,80,40);
  98.    add(textoDescuentoDIN);
  99.  
  100.    campoTextoDescuentoDIN = new JTextField("",20);
  101.    campoTextoDescuentoDIN.setBounds(430,270,110,30);
  102.    add(campoTextoDescuentoDIN);
  103.  
  104.    textoImpuestoIVA = new JLabel("IGV/IVA");
  105.    textoImpuestoIVA.setBounds(305,305,60,40);
  106.    add(textoImpuestoIVA);
  107.  
  108.    campoTextoIVA = new JTextField("",20);
  109.    campoTextoIVA.setBounds(430,310,110,30);
  110.    add(campoTextoIVA);
  111.  
  112.    textoTotalPagar = new JLabel("TOTAL");
  113.    textoTotalPagar.setBounds(305,345,60,40);
  114.    add(textoTotalPagar);
  115.  
  116.    campoTextoTotalPagar = new JTextField("",20);
  117.    campoTextoTotalPagar.setBounds(430,350,110,30);
  118.    add(campoTextoTotalPagar);
  119.  
  120.    // botones
  121.  
  122.    botonProcesar = new JButton("Procesar");
  123.    botonProcesar.setBackground(new Color(48,88,143) );
  124.    botonProcesar.setBounds(20,440,90,32);
  125.    add(botonProcesar);
  126.    botonProcesar.addActionListener( new ActionListener()
  127.     {
  128.      public void actionPerformed(ActionEvent evento)
  129.      {
  130.        if(evento.getSource() == botonProcesar)
  131.        {
  132.        Compras objeto = new Compras();
  133.        String cantidadx = campoTextoCantidad.getText();
  134.        double cantidad = Double.parseDouble(cantidadx);
  135.        String precio = campoTextoPrecioU.getText();
  136.        double precioU = Double.parseDouble(precio);
  137.  
  138.        objeto.setCalculos(cantidad,precioU);
  139.  
  140.        double subtotal = objeto.getSubTotal();
  141.        subtotal = Math.round(subtotal*Math.pow(10,2))/Math.pow(10,2);
  142.        int descuentopor = (int) objeto.getDescuentoPOR();
  143.        double descuentodin = objeto.getDescuentoDIN();
  144.        descuentodin = Math.round(descuentodin*Math.pow(10,2))/Math.pow(10,2);
  145.        double iva = objeto.getIVA();
  146.        iva = Math.round(iva*Math.pow(10,2))/Math.pow(10,2);
  147.        double total = objeto.getTotal();
  148.        total = Math.round(total*Math.pow(10,2))/Math.pow(10,2);
  149.  
  150.        String subtotalx = String.valueOf(subtotal);
  151.        String descuentoporx = String.valueOf(descuentopor);
  152.        String descuentodinx = String.valueOf(descuentodin);
  153.        String ivax = String.valueOf(iva);
  154.        String totalx = String.valueOf(total);
  155.  
  156.        campoTextoSubTotal.setText(subtotalx);
  157.        campoTextoDescuentoPOR.setText(descuentoporx);
  158.        campoTextoDescuentoDIN.setText(descuentodinx);
  159.        campoTextoIVA.setText(ivax);
  160.        campoTextoTotalPagar.setText(totalx);
  161.  
  162.        }
  163.  
  164.      } // fin metodo actionPerformed
  165.  
  166.    } ); // fin clase interna anonima
  167.  
  168.    botonBuscar = new JButton("Buscar");
  169.    botonBuscar.setBackground(new Color(48,88,143) );
  170.    botonBuscar.setBounds(120,440,90,32);
  171.    add(botonBuscar);
  172.  
  173.    botonBorrar = new JButton("Borrar");
  174.    botonBorrar.setBackground(new Color(48,88,143) );
  175.    botonBorrar.setBounds(220,440,90,32);
  176.    add(botonBorrar);
  177.  
  178.    botonModificar = new JButton("Modificar");
  179.    botonModificar.setBackground(new Color(48,88,143) );
  180.    botonModificar.setBounds(320,440,90,32);
  181.    add(botonModificar);
  182.    botonBorrar.addActionListener(new ActionListener()
  183.         {
  184.              public void actionPerformed(ActionEvent evento)
  185.              {
  186.                   if(evento.getSource() == botonBorrar)
  187.                   {
  188.                        campoTextoProveedor.setText("");
  189.                        campoTextoCantidad.setText("");
  190.                        campoTextoPrecioU.setText("");
  191.                        campoTextoSubTotal.setText("");
  192.                        campoTextoDescuentoPOR.setText("");
  193.                        campoTextoDescuentoDIN.setText("");
  194.                        campoTextoIVA.setText("");
  195.                        campoTextoTotalPagar.setText("");
  196.                   }
  197.              } // fin metodo
  198.         } ); // fin clase interna anonima
  199.  
  200.    // fila de abajo
  201.    botonPrimero = new JButton("Primero");
  202.    botonPrimero.setBackground(new Color(48,88,143) );
  203.    botonPrimero.setBounds(20,480,90,32);
  204.    add(botonPrimero);
  205.  
  206.    botonAnterior = new JButton("Anterior");
  207.    botonAnterior.setBackground(new Color(48,88,143) );
  208.    botonAnterior.setBounds(120,480,90,32);
  209.    add(botonAnterior);
  210.  
  211.    botonSiguiente = new JButton("Siguiente");
  212.    botonSiguiente.setBackground(new Color(48,88,143) );
  213.    botonSiguiente.setBounds(220,480,90,32);
  214.    add(botonSiguiente);
  215.  
  216.    botonUltimo = new JButton("Ultimo");
  217.    botonUltimo.setBackground(new Color(48,88,143) );
  218.    botonUltimo.setBounds(320,480,90,32);
  219.    add(botonUltimo);
  220.  
  221.    botonSalir = new JButton("Salir");
  222.    botonSalir.setBackground(new Color(255,75,0) );
  223.    botonSalir.setBounds(440,480,90,32);
  224.    add(botonSalir);
  225.    botonSalir.addActionListener(new ActionListener()
  226.     {
  227.      public void actionPerformed(ActionEvent evento)
  228.      {
  229.      if(evento.getSource() == botonSalir)
  230.      {
  231.        System.exit(0);
  232.      }
  233.      } // fin metodo
  234.    } // fin clase interna anonima
  235.                                 ); // fin clase interna anonima 2
  236.  
  237.  
  238.  }
  239.  
  240.  }


Clase Compras:

Código
  1. import java.text.DecimalFormat;
  2.  
  3. public class Compras
  4. {
  5.  private double cantidad,precioUnitario,subTotal,xIVA,totalPagar,descuentoPOR,descuentoDIN;
  6.  public static final double IVA = 0.16;
  7.  DecimalFormat formatear = new DecimalFormat("0.00");
  8.  
  9.  public Compras()
  10.  {
  11.    cantidad = 0;
  12.    precioUnitario = 0;
  13.    subTotal = 0;
  14.    xIVA = 0;
  15.    totalPagar = 0;
  16.    descuentoPOR = 0;
  17.    descuentoDIN = 0;
  18.  
  19.  }
  20.  
  21.  public void setCalculos(double cantidadx, double precioUnidad)
  22.  {
  23.    cantidad = cantidadx;
  24.    precioUnitario = precioUnidad;
  25.    double descuento;
  26.  
  27.    if(cantidad>=0 && cantidad<=4){
  28.             descuento = 0; }
  29.  
  30.           else if(cantidad>=5 && cantidad<=10){
  31.           descuento = 0.20; }
  32.  
  33.           else if(cantidad>=11 && cantidad<=15){
  34.           descuento = 0.45; }
  35.  
  36.           else descuento = 0.6;
  37.  
  38.  
  39.    double totalTemp = cantidad * precioUnitario;
  40.    xIVA = totalTemp * IVA;
  41.    descuentoDIN = totalTemp * descuento;
  42.    descuentoPOR = descuento * 10;
  43.    subTotal = totalTemp - descuento;
  44.    totalPagar = subTotal + xIVA;
  45.  
  46.  } // fin metodo
  47.  
  48.  public double getSubTotal()
  49.  {
  50.    return subTotal;
  51.  }
  52.  
  53.  public double getDescuentoPOR()
  54.  {
  55.    return descuentoPOR;
  56.  }
  57.  
  58.  public double getDescuentoDIN()
  59.  {
  60.    return descuentoDIN;
  61.  }
  62.  
  63.  public double getIVA()
  64.  {
  65.    return xIVA;
  66.  }
  67.  
  68.  public double getTotal()
  69.  {
  70.    return totalPagar;
  71.  }
  72.  
  73. }

Clase Principal:

Código
  1. import javax.swing.JFrame;
  2.  
  3. public class Principal
  4. {
  5.  public static void main(String[] args)
  6.    {
  7.      SistemaVentas prueba = new SistemaVentas();
  8.      prueba.setSize(600,560);
  9.      prueba.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  10.      prueba.setResizable(false);
  11.      prueba.setVisible(true);
  12.  
  13.    }
  14.  
  15. } // fin




Saludos y bendiciones :)