Calculo Porcentajes
Java
25.896 visualizaciones desde el 17 de Marzo del 2017
Aplicación para calcular el porcentaje de un valor. El porcentaje calculado se sumará o restará al valor inicial
import java.awt.Color;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
public class Interfz implements ActionListener{
public class Calculo {
private double valorIni;
private double porcentaje;
private double porcentajeValor; //valor del porcentaje aplicado a la cantidad
private double porcentajeCalc; //porcentaje sumado o restado a la cantidad
public boolean calculaPorcentaje(boolean accion) throws Exception{
if(this.valorIni<=0 || this.porcentaje<=0) return false;
this.porcentajeValor = this.valorIni * this.porcentaje /100;
if(accion){//sumo el porcentaje
this.porcentajeCalc = this.valorIni + this.porcentajeValor;
return true;
}else{
this.porcentajeCalc = this.valorIni - this.porcentajeValor;
return true;
}
}
public double getValorIni() {
return valorIni;
}
public void setValorIni(double valorIni) {
this.valorIni = valorIni;
}
public double getPorcentaje() {
return porcentaje;
}
public void setPorcentaje(double porcentaje) {
this.porcentaje = porcentaje;
}
public double getPorcentajeValor() {
return porcentajeValor;
}
public void setPorcentajeValor(double porcentajeValor) {
this.porcentajeValor = porcentajeValor;
}
public double getPorcentajeCalc() {
return porcentajeCalc;
}
public void setPorcentajeCalc(double porcentajeCalc) {
this.porcentajeCalc = porcentajeCalc;
}
}
private Calculo ca = new Calculo();
private JFrame frame = new JFrame("Calcula Porcentaje");
private JTextField valor = new JTextField();
private JTextField calculo = new JTextField();
private JLabel resultado = new JLabel("");
private JLabel resultado2 = new JLabel("");
public Interfz(){
Dimension d = new Dimension(440, 200);
this.frame.setPreferredSize(d);
this.frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.frame.setResizable(false);
this.frame.setLocation(500,200);
JLabel ini = new JLabel("Valor inicial:");
ini.setBounds(20, 20, 70, 23);
this.frame.add(ini);
this.valor.setBounds(110, 20, 100, 23);
this.frame.add(this.valor);
String texto = "<html><body>Porcentaje <br> a calcular </body></html>";
JLabel fin = new JLabel(texto);
fin.setBounds(20, 75, 65, 25);
this.frame.add(fin);
this.calculo.setBounds(110, 78, 100, 23);
this.frame.add(this.calculo);
JButton suma = new JButton("+");
suma.setBounds(250, 77, 41, 23);
suma.addActionListener(this);
suma.setActionCommand("sumar");
suma.setBackground(Color.cyan.brighter());
this.frame.add(suma);
JButton resta = new JButton("-");
resta.setBounds(295, 77, 41, 23);
resta.addActionListener(this);
resta.setActionCommand("restar");
resta.setBackground(Color.green.brighter());
this.frame.add(resta);
JLabel porc = new JLabel("%");
porc.setBounds(215, 78, 15, 23);
this.frame.add(porc);
this.resultado.setBounds(150, 110, 300, 23);
this.frame.add(this.resultado);
this.resultado2.setBounds(150, 130, 300, 23);
this.frame.add(this.resultado2);
this.frame.setLayout(null);
this.frame.pack();
this.frame.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e){
try{
this.ca.setValorIni(Double.parseDouble(this.valor.getText()));
this.ca.setPorcentaje(Double.parseDouble(this.calculo.getText()));
if(e.getActionCommand().equals("sumar")){
if(ca.calculaPorcentaje(true)){
this.resultado.setText("El " + this.calculo.getText().toString() + "% de " + this.valor.getText().toString() + " es: "
+ this.ca.getPorcentajeValor());
this.resultado2.setText(this.valor.getText().toString() + " + El " + this.calculo.getText().toString() + "% " + " es: "
+ this.ca.getPorcentajeCalc());
}else{
JOptionPane.showMessageDialog(null,"Inserta un valor y un porcentaje positivos");
}
}
if(e.getActionCommand().equals("restar")){
if(ca.calculaPorcentaje(false)){
this.resultado.setText("El " + this.calculo.getText().toString() + "% de " + this.valor.getText().toString() + " es: "
+ this.ca.getPorcentajeValor());
this.resultado2.setText(this.valor.getText().toString() + " - El " + this.calculo.getText().toString() + "% " + " es: "
+ this.ca.getPorcentajeCalc());
}else{
JOptionPane.showMessageDialog(null,"Inserta un valor y un porcentaje positivos");
}
}
}catch (Exception exc) {
JOptionPane.showMessageDialog(null,"Inserta un valor y un porcentaje validos");
}
}
}
/**
*
* MAIN
*
*/
public class Main {
public static void main(String[] args) {Interfz i = new Interfz();}}
Comentarios sobre la versión: 0.1 (3)
claro no tiene mucha ciencia el calcular porcentajes, pero es un excelente trabajo, ya que puede ser usado para generar nuevos proyectos, en base a ventanas, procesos o demás requerimientos, etc.
muy bien trabajo
https://play.google.com/store/apps/details?id=com.fjapps.juanc.calculoporcentaje