Corregir bugs y aniadir la opcion de eliminar transacciones
This commit is contained in:
parent
86c642dba9
commit
0d6d20001f
Binary file not shown.
@ -6,7 +6,7 @@ import java.util.Vector;
|
|||||||
public class Gestion{
|
public class Gestion{
|
||||||
private Vector<Transaccion> gestiones;
|
private Vector<Transaccion> gestiones;
|
||||||
private float suma;
|
private float suma;
|
||||||
private static float total = 0;
|
private float total;
|
||||||
private Month mes;
|
private Month mes;
|
||||||
private Year anio;
|
private Year anio;
|
||||||
private boolean isPositivo;
|
private boolean isPositivo;
|
||||||
@ -15,6 +15,7 @@ public class Gestion{
|
|||||||
public Gestion(String nombre, boolean isPositivo) {
|
public Gestion(String nombre, boolean isPositivo) {
|
||||||
this.gestiones = new Vector<Transaccion>();
|
this.gestiones = new Vector<Transaccion>();
|
||||||
this.suma = 0;
|
this.suma = 0;
|
||||||
|
this.total = 0;
|
||||||
this.nombre = nombre;
|
this.nombre = nombre;
|
||||||
this.isPositivo = isPositivo;
|
this.isPositivo = isPositivo;
|
||||||
}
|
}
|
||||||
@ -27,9 +28,9 @@ public class Gestion{
|
|||||||
this.gestiones.add(transaccion);
|
this.gestiones.add(transaccion);
|
||||||
this.suma += transaccion.getDinero();
|
this.suma += transaccion.getDinero();
|
||||||
if(this.isPositivo) {
|
if(this.isPositivo) {
|
||||||
Gestion.total += transaccion.getDinero();
|
this.total += transaccion.getDinero();
|
||||||
}else {
|
}else {
|
||||||
Gestion.total -= transaccion.getDinero();
|
this.total -= transaccion.getDinero();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -37,28 +38,37 @@ public class Gestion{
|
|||||||
return this.suma;
|
return this.suma;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static float getTotal() {
|
public float getTotal() {
|
||||||
return Gestion.total;
|
return this.total;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Vector<Transaccion> getElementos(){
|
public Vector<Transaccion> getElementos(){
|
||||||
return this.gestiones;
|
return this.gestiones;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void eliminarTransaccion(String transaccion) {
|
||||||
|
for(Transaccion elemento:this.gestiones) {
|
||||||
|
if(elemento.toString().equals(transaccion)) {
|
||||||
|
this.gestiones.remove(elemento);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void alterarVisibilidad(int elemento) {
|
public void alterarVisibilidad(int elemento) {
|
||||||
if(this.gestiones.get(elemento).alterarVisivilidad()) {
|
if(this.gestiones.get(elemento).alterarVisivilidad()) {
|
||||||
this.suma += this.gestiones.get(elemento).getDinero();
|
this.suma += this.gestiones.get(elemento).getDinero();
|
||||||
if(this.isPositivo) {
|
if(this.isPositivo) {
|
||||||
Gestion.total += this.gestiones.get(elemento).getDinero();
|
this.total += this.gestiones.get(elemento).getDinero();
|
||||||
}else {
|
}else {
|
||||||
Gestion.total -= this.gestiones.get(elemento).getDinero();
|
this.total -= this.gestiones.get(elemento).getDinero();
|
||||||
}
|
}
|
||||||
}else {
|
}else {
|
||||||
this.suma -= this.gestiones.get(elemento).getDinero();
|
this.suma -= this.gestiones.get(elemento).getDinero();
|
||||||
if(this.isPositivo) {
|
if(this.isPositivo) {
|
||||||
Gestion.total -= this.gestiones.get(elemento).getDinero();
|
this.total -= this.gestiones.get(elemento).getDinero();
|
||||||
}else {
|
}else {
|
||||||
Gestion.total += this.gestiones.get(elemento).getDinero();
|
this.total += this.gestiones.get(elemento).getDinero();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -6,7 +6,6 @@ import java.util.ArrayList;
|
|||||||
public class Meses {
|
public class Meses {
|
||||||
private ArrayList<Mes> meses;
|
private ArrayList<Mes> meses;
|
||||||
private int mesActual=0;
|
private int mesActual=0;
|
||||||
|
|
||||||
public Meses() {
|
public Meses() {
|
||||||
this.meses = new ArrayList<Mes>();
|
this.meses = new ArrayList<Mes>();
|
||||||
}
|
}
|
||||||
@ -57,19 +56,21 @@ private ArrayList<Mes> meses;
|
|||||||
}
|
}
|
||||||
this.meses.add(new Mes(new ArrayList<Gestion>(), anio, mes));
|
this.meses.add(new Mes(new ArrayList<Gestion>(), anio, mes));
|
||||||
this.mesActual = this.meses.size()-1;
|
this.mesActual = this.meses.size()-1;
|
||||||
System.out.println(this.meses.size()-1);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArrayList<Gestion> getGestionesActuales(){
|
public ArrayList<Gestion> getGestionesActuales(){
|
||||||
return this.meses.get(this.mesActual).getGestiones();
|
return this.meses.get(this.mesActual).getGestiones();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public float getTotal() {
|
||||||
|
return this.meses.get(this.mesActual).getTotal();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class Mes{
|
class Mes{
|
||||||
private int anio;
|
private int anio;
|
||||||
private Month mes;
|
private Month mes;
|
||||||
int total;
|
|
||||||
ArrayList<Gestion> gestiones;
|
ArrayList<Gestion> gestiones;
|
||||||
Mes(ArrayList<Gestion> gestiones, int anio, Month mes){
|
Mes(ArrayList<Gestion> gestiones, int anio, Month mes){
|
||||||
this.gestiones = gestiones;
|
this.gestiones = gestiones;
|
||||||
@ -101,4 +102,12 @@ class Mes{
|
|||||||
return this.gestiones;
|
return this.gestiones;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
float getTotal() {
|
||||||
|
float ret = 0;
|
||||||
|
for(Gestion gestion:this.gestiones) {
|
||||||
|
ret += gestion.getTotal();
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -74,21 +74,12 @@ public class ControladorPanelLateral implements ActionListener, DateChangeListen
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case "Eliminar Transacciones":{
|
||||||
|
this.menu.pestanias.get(this.menu.pestania.getSelectedIndex()).eliminarDeseleccionados();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*if(e.getActionCommand().equals(this.vista.mostrarEstadisticas.getActionCommand())) {
|
|
||||||
|
|
||||||
XYSeries serie = new XYSeries("Mes");
|
|
||||||
serie.add(10,1);
|
|
||||||
serie.add(4,2);
|
|
||||||
serie.add(90,10);
|
|
||||||
XYSeriesCollection dataset = new XYSeriesCollection(serie);
|
|
||||||
JFreeChart chart = ChartFactory.createXYLineChart("Mes", "Dias", "Gastos", dataset);
|
|
||||||
ChartFrame frame = new ChartFrame("Estadisricas", chart);
|
|
||||||
frame.setVisible(true);
|
|
||||||
frame.setSize(700,500);
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void aniadirElementos() {
|
private void aniadirElementos() {
|
||||||
@ -101,6 +92,8 @@ public class ControladorPanelLateral implements ActionListener, DateChangeListen
|
|||||||
this.mes=VistaPanelLateral.elegirMes.getDate().getMonth();
|
this.mes=VistaPanelLateral.elegirMes.getDate().getMonth();
|
||||||
this.anio=VistaPanelLateral.elegirMes.getDate().getYear();
|
this.anio=VistaPanelLateral.elegirMes.getDate().getYear();
|
||||||
}
|
}
|
||||||
|
this.vista.eliminarTransaccion.addActionListener(this);
|
||||||
|
this.vista.eliminarTransaccion.setActionCommand("Eliminar Transacciones");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void dateChanged(DateChangeEvent arg0) {
|
public void dateChanged(DateChangeEvent arg0) {
|
||||||
|
@ -35,7 +35,7 @@ public class Menu extends JFrame{
|
|||||||
this.cargarPestanias();
|
this.cargarPestanias();
|
||||||
this.setLayout(new GridBagLayout());
|
this.setLayout(new GridBagLayout());
|
||||||
GridBagConstraints constrain = new GridBagConstraints();
|
GridBagConstraints constrain = new GridBagConstraints();
|
||||||
this.panel = new VistaPanelLateral(constrain);
|
this.panel = new VistaPanelLateral(constrain, this.meses);
|
||||||
this.panelCentral = new JPanel();
|
this.panelCentral = new JPanel();
|
||||||
|
|
||||||
constrain.fill = GridBagConstraints.VERTICAL;
|
constrain.fill = GridBagConstraints.VERTICAL;
|
||||||
@ -77,7 +77,6 @@ public class Menu extends JFrame{
|
|||||||
this.meses.elegirMes(anio, mes);
|
this.meses.elegirMes(anio, mes);
|
||||||
if(this.meses.getGestionesActuales().size() == 0) {
|
if(this.meses.getGestionesActuales().size() == 0) {
|
||||||
this.iniciarMes(anio, mes);
|
this.iniciarMes(anio, mes);
|
||||||
System.out.println("entra");
|
|
||||||
}else {
|
}else {
|
||||||
this.cargarMes();
|
this.cargarMes();
|
||||||
}
|
}
|
||||||
|
@ -21,7 +21,7 @@ public class VistaAniadirVisualizar extends JPanel{
|
|||||||
JScrollPane panel;
|
JScrollPane panel;
|
||||||
Menu menu;
|
Menu menu;
|
||||||
private ControladorAniadirVisualizar controlador;
|
private ControladorAniadirVisualizar controlador;
|
||||||
static VistaPanelLateral panelLateral;
|
private static VistaPanelLateral panelLateral;
|
||||||
public VistaAniadirVisualizar(Menu menu, Gestion gestion) {
|
public VistaAniadirVisualizar(Menu menu, Gestion gestion) {
|
||||||
this.gestiones = gestion;
|
this.gestiones = gestion;
|
||||||
this.transacciones = new LinkedList<JCheckBox>();
|
this.transacciones = new LinkedList<JCheckBox>();
|
||||||
@ -68,6 +68,16 @@ public class VistaAniadirVisualizar extends JPanel{
|
|||||||
this.repaint();
|
this.repaint();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void eliminarDeseleccionados(){
|
||||||
|
for(JCheckBox check:this.transacciones) {
|
||||||
|
if(!check.isSelected()) {
|
||||||
|
this.cuadro.remove(check);
|
||||||
|
this.gestiones.eliminarTransaccion(check.getText());
|
||||||
|
this.cuadro.revalidate();
|
||||||
|
this.cuadro.repaint();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void aniadirElemento(Transaccion transaccion) {
|
private void aniadirElemento(Transaccion transaccion) {
|
||||||
JCheckBox check = new JCheckBox(transaccion.toString());
|
JCheckBox check = new JCheckBox(transaccion.toString());
|
||||||
|
@ -12,16 +12,19 @@ import javax.swing.JTextArea;
|
|||||||
import com.github.lgooddatepicker.components.DatePicker;
|
import com.github.lgooddatepicker.components.DatePicker;
|
||||||
|
|
||||||
import Logica.Gestion;
|
import Logica.Gestion;
|
||||||
|
import Logica.Meses;
|
||||||
|
|
||||||
public class VistaPanelLateral extends JPanel{
|
public class VistaPanelLateral extends JPanel{
|
||||||
protected JTextArea total;
|
protected JTextArea total;
|
||||||
protected JTextArea gastoEnvio;
|
protected JTextArea gastoEnvio;
|
||||||
//protected JButton elegirMes;
|
|
||||||
protected static DatePicker elegirMes = inicializarCalendario();
|
protected static DatePicker elegirMes = inicializarCalendario();
|
||||||
protected JButton mostrarEstadisticas;
|
protected JButton mostrarEstadisticas;
|
||||||
JButton aniadirGestion;
|
JButton aniadirGestion;
|
||||||
VistaPanelLateral(GridBagConstraints constrain){
|
JButton eliminarTransaccion;
|
||||||
|
Meses meses;
|
||||||
|
VistaPanelLateral(GridBagConstraints constrain, Meses meses){
|
||||||
this.setPreferredSize(new Dimension(200,200));
|
this.setPreferredSize(new Dimension(200,200));
|
||||||
|
this.meses=meses;
|
||||||
this.total = new JTextArea();
|
this.total = new JTextArea();
|
||||||
this.gastoEnvio = new JTextArea();
|
this.gastoEnvio = new JTextArea();
|
||||||
this.mostrarEstadisticas = new JButton("Mostrar grafico del mes");
|
this.mostrarEstadisticas = new JButton("Mostrar grafico del mes");
|
||||||
@ -40,10 +43,12 @@ public class VistaPanelLateral extends JPanel{
|
|||||||
constrain.weightx = 2;
|
constrain.weightx = 2;
|
||||||
this.add(this.gastoEnvio);
|
this.add(this.gastoEnvio);
|
||||||
this.add(this.aniadirGestion);
|
this.add(this.aniadirGestion);
|
||||||
|
this.eliminarTransaccion = new JButton("Eliminar Deseleccionados");
|
||||||
|
this.add(this.eliminarTransaccion);
|
||||||
}
|
}
|
||||||
|
|
||||||
void actualizarDatos(Gestion gestion) {
|
void actualizarDatos(Gestion gestion) {
|
||||||
this.total.setText("Total: " + String.valueOf(Gestion.getTotal()) + "€");
|
this.total.setText("Total: " + String.valueOf(this.meses.getTotal()) + "€");
|
||||||
this.gastoEnvio.setText("Suma: " + String.valueOf(gestion.getSuma()) + "€");
|
this.gastoEnvio.setText("Suma: " + String.valueOf(gestion.getSuma()) + "€");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user