Finalizado soporte de persistencia
This commit is contained in:
parent
0d6d20001f
commit
18238bd6b8
1
bin/.gitignore
vendored
1
bin/.gitignore
vendored
@ -1,3 +1,4 @@
|
|||||||
/IniciarSesion/
|
/IniciarSesion/
|
||||||
/VistaControlador/
|
/VistaControlador/
|
||||||
/Logica/
|
/Logica/
|
||||||
|
/Ficheros/
|
||||||
|
Binary file not shown.
Binary file not shown.
39
src/Ficheros/FicheroBinario.java
Normal file
39
src/Ficheros/FicheroBinario.java
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
package Ficheros;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileInputStream;
|
||||||
|
import java.io.FileNotFoundException;
|
||||||
|
import java.io.FileOutputStream;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.ObjectInputStream;
|
||||||
|
import java.io.ObjectOutputStream;
|
||||||
|
|
||||||
|
import Logica.Gestion;
|
||||||
|
import Logica.Meses;
|
||||||
|
|
||||||
|
public class FicheroBinario {
|
||||||
|
String directorioGestiones;
|
||||||
|
String directorioTransacciones;
|
||||||
|
String directorioMeses;
|
||||||
|
public FicheroBinario(String nombre) {
|
||||||
|
this.directorioGestiones=nombre;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void guardarMeses(Meses mes) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void guardarGestiones(Gestion gestion) throws IOException {
|
||||||
|
FileOutputStream ficheroSalida = new FileOutputStream(new File(this.directorioGestiones));
|
||||||
|
ObjectOutputStream escritor = new ObjectOutputStream(ficheroSalida);
|
||||||
|
escritor.writeObject(gestion);
|
||||||
|
escritor.close();
|
||||||
|
ficheroSalida.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void cargarGestiones(Meses meses) throws IOException {
|
||||||
|
FileInputStream ficheroEntrada = new FileInputStream(new File(this.directorioGestiones));
|
||||||
|
ObjectInputStream lector = new ObjectInputStream(ficheroEntrada);
|
||||||
|
//meses.aniadirGestion(nombre, anio, mes, isPositivo)
|
||||||
|
}
|
||||||
|
}
|
@ -1,14 +1,11 @@
|
|||||||
package Logica;
|
package Logica;
|
||||||
import java.time.Month;
|
import java.io.Serializable;
|
||||||
import java.time.Year;
|
|
||||||
import java.util.Vector;
|
import java.util.Vector;
|
||||||
|
|
||||||
public class Gestion{
|
public class Gestion implements Serializable{
|
||||||
private Vector<Transaccion> gestiones;
|
private Vector<Transaccion> gestiones;
|
||||||
private float suma;
|
private float suma;
|
||||||
private float total;
|
private float total;
|
||||||
private Month mes;
|
|
||||||
private Year anio;
|
|
||||||
private boolean isPositivo;
|
private boolean isPositivo;
|
||||||
private String nombre;
|
private String nombre;
|
||||||
|
|
||||||
@ -55,6 +52,10 @@ public class Gestion{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean esIngreso() {
|
||||||
|
return this.isPositivo;
|
||||||
|
}
|
||||||
|
|
||||||
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();
|
||||||
|
@ -1,5 +1,13 @@
|
|||||||
package Logica;
|
package Logica;
|
||||||
|
|
||||||
|
import java.io.EOFException;
|
||||||
|
import java.io.FileInputStream;
|
||||||
|
import java.io.FileNotFoundException;
|
||||||
|
import java.io.FileOutputStream;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.ObjectInputStream;
|
||||||
|
import java.io.ObjectOutputStream;
|
||||||
|
import java.io.Serializable;
|
||||||
import java.time.Month;
|
import java.time.Month;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
@ -66,9 +74,44 @@ private ArrayList<Mes> meses;
|
|||||||
return this.meses.get(this.mesActual).getTotal();
|
return this.meses.get(this.mesActual).getTotal();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void guardarMeses(String nombre) throws IOException {
|
||||||
|
FileOutputStream fichero = new FileOutputStream(nombre);
|
||||||
|
ObjectOutputStream escritor = new ObjectOutputStream(fichero);
|
||||||
|
for(Mes mes:this.meses) {
|
||||||
|
for(Gestion gestion:mes.getGestiones()) {
|
||||||
|
for(Transaccion transaccion:gestion.getElementos()) {
|
||||||
|
escritor.writeObject(transaccion);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
escritor.close();
|
||||||
|
fichero.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void cargarMeses(String nombre) throws IOException, ClassNotFoundException {
|
||||||
|
FileInputStream fichero;
|
||||||
|
try {
|
||||||
|
fichero = new FileInputStream(nombre);
|
||||||
|
}catch(FileNotFoundException e){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
ObjectInputStream lector = new ObjectInputStream(fichero);
|
||||||
|
try {
|
||||||
|
while(true) {
|
||||||
|
Transaccion transaccion = (Transaccion)lector.readObject();
|
||||||
|
this.aniadirTransaccion(transaccion, transaccion.getGestion().getNombre(), transaccion.getGestion().esIngreso());
|
||||||
|
}
|
||||||
|
}catch(EOFException e) {
|
||||||
|
lector.close();
|
||||||
|
fichero.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class Mes{
|
class Mes implements Serializable{
|
||||||
private int anio;
|
private int anio;
|
||||||
private Month mes;
|
private Month mes;
|
||||||
ArrayList<Gestion> gestiones;
|
ArrayList<Gestion> gestiones;
|
||||||
|
@ -1,25 +1,25 @@
|
|||||||
package Logica;
|
package Logica;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
|
|
||||||
public class Transaccion {
|
public class Transaccion implements Serializable{
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private static final long serialVersionUID = 7544113192927092049L;
|
||||||
private String nombre;
|
private String nombre;
|
||||||
private float dinero;
|
private float dinero;
|
||||||
private boolean visible;
|
private boolean visible;
|
||||||
private LocalDate dia;
|
private LocalDate dia;
|
||||||
|
private Gestion gestion;
|
||||||
|
|
||||||
public Transaccion(String nombre, float dinero){
|
public Transaccion(String nombre, float dinero, LocalDate dia, Gestion gestion){
|
||||||
this.nombre = nombre;
|
|
||||||
this.dinero = dinero;
|
|
||||||
this.visible = true;
|
|
||||||
this.dia = LocalDate.now();
|
|
||||||
}
|
|
||||||
|
|
||||||
public Transaccion(String nombre, float dinero, LocalDate dia){
|
|
||||||
this.nombre = nombre;
|
this.nombre = nombre;
|
||||||
this.dinero = dinero;
|
this.dinero = dinero;
|
||||||
this.visible = true;
|
this.visible = true;
|
||||||
this.dia = dia;
|
this.dia = dia;
|
||||||
|
this.gestion=gestion;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String toString() {
|
public String toString() {
|
||||||
@ -42,4 +42,12 @@ public class Transaccion {
|
|||||||
public LocalDate getDia() {
|
public LocalDate getDia() {
|
||||||
return this.dia;
|
return this.dia;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void aniadirse() {
|
||||||
|
this.gestion.aniadirGasto(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Gestion getGestion() {
|
||||||
|
return this.gestion;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -18,49 +18,52 @@ public class ControladorAniadirVisualizar implements ActionListener,ChangeListen
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void actionPerformed(ActionEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
if(e.getActionCommand().equals(this.vista.boton.getActionCommand())) {
|
switch(e.getActionCommand()) {
|
||||||
String nombre=JOptionPane.showInputDialog("Introduce un nuevo gasto o ingreso");
|
case "Aniadir":{
|
||||||
if(nombre == null) return;
|
String nombre=JOptionPane.showInputDialog("Introduce un nuevo gasto o ingreso");
|
||||||
if(nombre.equals("")) {
|
if(nombre == null) return;
|
||||||
JOptionPane.showMessageDialog(null, "Debe introducir algo", "error", JOptionPane.WARNING_MESSAGE);
|
if(nombre.equals("")) {
|
||||||
return;
|
JOptionPane.showMessageDialog(null, "Debe introducir algo", "error", JOptionPane.WARNING_MESSAGE);
|
||||||
}
|
return;
|
||||||
String dinero = JOptionPane.showInputDialog("Introduce a cuanto asciende");
|
}
|
||||||
if(dinero == null) return;
|
String dinero = JOptionPane.showInputDialog("Introduce a cuanto asciende");
|
||||||
if(dinero.equals("")) {
|
if(dinero == null) return;
|
||||||
JOptionPane.showMessageDialog(null, "Debe introducir algo", "error", JOptionPane.WARNING_MESSAGE);
|
if(dinero.equals("")) {
|
||||||
return;
|
JOptionPane.showMessageDialog(null, "Debe introducir algo", "error", JOptionPane.WARNING_MESSAGE);
|
||||||
}
|
return;
|
||||||
|
}
|
||||||
try {
|
|
||||||
this.vista.aniadirElemento(nombre, Float.parseFloat(dinero),this);
|
try {
|
||||||
this.vista.menu.panel.actualizarDatos(this.vista.gestiones);
|
this.vista.aniadirElemento(nombre, Float.parseFloat(dinero),this);
|
||||||
this.vista.menu.panel.revalidate();
|
|
||||||
this.vista.menu.panel.repaint();
|
|
||||||
}catch (NumberFormatException ex) {
|
|
||||||
JOptionPane.showMessageDialog(null, "Debe introducir un numero", "error", JOptionPane.WARNING_MESSAGE);
|
|
||||||
}
|
|
||||||
}else {
|
|
||||||
JCheckBox pulsado = (JCheckBox)e.getSource();
|
|
||||||
for(int i = 0; i < vista.gestiones.getElementos().size();i++) {
|
|
||||||
if(vista.gestiones.getElementos().get(i).toString().equals(pulsado.getText())) {
|
|
||||||
vista.gestiones.alterarVisibilidad(i);
|
|
||||||
this.vista.menu.panel.actualizarDatos(this.vista.gestiones);
|
this.vista.menu.panel.actualizarDatos(this.vista.gestiones);
|
||||||
this.vista.menu.panel.revalidate();
|
this.vista.menu.panel.revalidate();
|
||||||
this.vista.menu.panel.repaint();
|
this.vista.menu.panel.repaint();
|
||||||
|
}catch (NumberFormatException ex) {
|
||||||
|
JOptionPane.showMessageDialog(null, "Debe introducir un numero", "error", JOptionPane.WARNING_MESSAGE);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "pulsar":{
|
||||||
|
JCheckBox pulsado = (JCheckBox)e.getSource();
|
||||||
|
for(int i = 0; i < vista.gestiones.getElementos().size();i++) {
|
||||||
|
if(vista.gestiones.getElementos().get(i).toString().equals(pulsado.getText())) {
|
||||||
|
vista.gestiones.alterarVisibilidad(i);
|
||||||
|
this.vista.menu.panel.actualizarDatos(this.vista.gestiones);
|
||||||
|
this.vista.menu.panel.revalidate();
|
||||||
|
this.vista.menu.panel.repaint();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void aniadirListeners() {
|
private void aniadirListeners() {
|
||||||
vista.boton.addActionListener(this);
|
vista.boton.addActionListener(this);
|
||||||
vista.boton.setActionCommand("Aniadir");
|
vista.boton.setActionCommand("Aniadir");
|
||||||
int contador = 0;
|
|
||||||
for(JCheckBox check:this.vista.transacciones) {
|
for(JCheckBox check:this.vista.transacciones) {
|
||||||
check.addActionListener(this);
|
check.addActionListener(this);
|
||||||
check.setActionCommand("pulsar "+contador);
|
check.setActionCommand("pulsar");
|
||||||
contador++;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -99,7 +99,6 @@ public class ControladorPanelLateral implements ActionListener, DateChangeListen
|
|||||||
public void dateChanged(DateChangeEvent arg0) {
|
public void dateChanged(DateChangeEvent arg0) {
|
||||||
if(this.mes!=VistaPanelLateral.elegirMes.getDate().getMonth() ||
|
if(this.mes!=VistaPanelLateral.elegirMes.getDate().getMonth() ||
|
||||||
this.anio!=VistaPanelLateral.elegirMes.getDate().getYear()) {
|
this.anio!=VistaPanelLateral.elegirMes.getDate().getYear()) {
|
||||||
System.out.println("Cambia mes");
|
|
||||||
this.menu.cargarGestiones(VistaPanelLateral.elegirMes.getDate().getYear(), VistaPanelLateral.elegirMes.getDate().getMonth());
|
this.menu.cargarGestiones(VistaPanelLateral.elegirMes.getDate().getYear(), VistaPanelLateral.elegirMes.getDate().getMonth());
|
||||||
this.mes=VistaPanelLateral.elegirMes.getDate().getMonth();
|
this.mes=VistaPanelLateral.elegirMes.getDate().getMonth();
|
||||||
this.anio=VistaPanelLateral.elegirMes.getDate().getYear();
|
this.anio=VistaPanelLateral.elegirMes.getDate().getYear();
|
||||||
|
@ -3,12 +3,14 @@ package VistaControlador;
|
|||||||
import java.awt.Dimension;
|
import java.awt.Dimension;
|
||||||
import java.awt.GridBagConstraints;
|
import java.awt.GridBagConstraints;
|
||||||
import java.awt.GridBagLayout;
|
import java.awt.GridBagLayout;
|
||||||
|
import java.io.IOException;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.Month;
|
import java.time.Month;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
import javax.swing.JButton;
|
import javax.swing.JButton;
|
||||||
import javax.swing.JFrame;
|
import javax.swing.JFrame;
|
||||||
|
import javax.swing.JOptionPane;
|
||||||
import javax.swing.JPanel;
|
import javax.swing.JPanel;
|
||||||
import javax.swing.JTabbedPane;
|
import javax.swing.JTabbedPane;
|
||||||
import javax.swing.JTextArea;
|
import javax.swing.JTextArea;
|
||||||
@ -17,6 +19,7 @@ import javax.swing.event.ChangeListener;
|
|||||||
|
|
||||||
import Logica.Gestion;
|
import Logica.Gestion;
|
||||||
import Logica.Meses;
|
import Logica.Meses;
|
||||||
|
import Logica.Transaccion;
|
||||||
|
|
||||||
public class Menu extends JFrame{
|
public class Menu extends JFrame{
|
||||||
protected JPanel panelCentral;
|
protected JPanel panelCentral;
|
||||||
@ -24,20 +27,30 @@ public class Menu extends JFrame{
|
|||||||
protected VistaAniadirVisualizar ingresos;
|
protected VistaAniadirVisualizar ingresos;
|
||||||
protected VistaAniadirVisualizar gastos;
|
protected VistaAniadirVisualizar gastos;
|
||||||
protected VistaPanelLateral panel;
|
protected VistaPanelLateral panel;
|
||||||
|
String nombreDatos;
|
||||||
Meses meses;
|
Meses meses;
|
||||||
ArrayList<VistaAniadirVisualizar> pestanias;
|
ArrayList<VistaAniadirVisualizar> pestanias;
|
||||||
ArrayList<ControladorAniadirVisualizar> controladores;
|
ArrayList<ControladorAniadirVisualizar> controladores;
|
||||||
protected Gestion datosGastos;
|
protected Gestion datosGastos;
|
||||||
protected Gestion datosIngresos;
|
protected Gestion datosIngresos;
|
||||||
public Menu() {
|
public Menu() {
|
||||||
|
this.nombreDatos = ".mes";
|
||||||
|
setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE);
|
||||||
|
|
||||||
|
addWindowListener(new java.awt.event.WindowAdapter() {
|
||||||
|
public void windowClosing(java.awt.event.WindowEvent evt) {
|
||||||
|
close();
|
||||||
|
}
|
||||||
|
});
|
||||||
this.pestania = new JTabbedPane();
|
this.pestania = new JTabbedPane();
|
||||||
|
GridBagConstraints constrain = new GridBagConstraints();
|
||||||
|
|
||||||
this.cargarGestiones(LocalDate.now().getYear(), LocalDate.now().getMonth());
|
this.cargarGestiones(LocalDate.now().getYear(), LocalDate.now().getMonth());
|
||||||
this.cargarPestanias();
|
this.cargarPestanias();
|
||||||
this.setLayout(new GridBagLayout());
|
this.setLayout(new GridBagLayout());
|
||||||
GridBagConstraints constrain = new GridBagConstraints();
|
|
||||||
this.panel = new VistaPanelLateral(constrain, this.meses);
|
this.panel = new VistaPanelLateral(constrain, this.meses);
|
||||||
this.panelCentral = new JPanel();
|
this.panelCentral = new JPanel();
|
||||||
|
|
||||||
constrain.fill = GridBagConstraints.VERTICAL;
|
constrain.fill = GridBagConstraints.VERTICAL;
|
||||||
constrain.gridx = 0;
|
constrain.gridx = 0;
|
||||||
constrain.gridy = 0;
|
constrain.gridy = 0;
|
||||||
@ -49,16 +62,26 @@ public class Menu extends JFrame{
|
|||||||
setDefaultCloseOperation(3);
|
setDefaultCloseOperation(3);
|
||||||
setLocationRelativeTo(null);
|
setLocationRelativeTo(null);
|
||||||
ControladorPanelLateral controlador3 = new ControladorPanelLateral(this.panel, this);
|
ControladorPanelLateral controlador3 = new ControladorPanelLateral(this.panel, this);
|
||||||
this.pestania.addChangeListener((ChangeListener)->{
|
this.listenerPestania();
|
||||||
if(this.pestania.getTabCount()<0) {
|
|
||||||
this.panel.actualizarDatos(meses.getGestionesActuales().get(this.pestania.getSelectedIndex()));
|
|
||||||
}
|
|
||||||
});
|
|
||||||
this.add(this.panel);
|
this.add(this.panel);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void close(){
|
||||||
|
if (JOptionPane.showConfirmDialog(rootPane, "¿Desea guardar el estado?",
|
||||||
|
"Salir del sistema", JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION) {
|
||||||
|
try {
|
||||||
|
this.meses.guardarMeses(this.nombreDatos);
|
||||||
|
} catch (IOException e) {
|
||||||
|
// TODO Auto-generated catch block
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
System.exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
private void iniciarMes(int anio, Month mes) {
|
private void iniciarMes(int anio, Month mes) {
|
||||||
this.pestania.removeAll();
|
this.pestania.removeAll();
|
||||||
|
this.listenerPestania();
|
||||||
meses.aniadirGestion("Ingresos", anio, mes, true);
|
meses.aniadirGestion("Ingresos", anio, mes, true);
|
||||||
meses.aniadirGestion("Gastos", anio, mes, false);
|
meses.aniadirGestion("Gastos", anio, mes, false);
|
||||||
this.pestanias=new ArrayList<VistaAniadirVisualizar>();
|
this.pestanias=new ArrayList<VistaAniadirVisualizar>();
|
||||||
@ -73,6 +96,15 @@ public class Menu extends JFrame{
|
|||||||
void cargarGestiones(int anio, Month mes) {
|
void cargarGestiones(int anio, Month mes) {
|
||||||
if(this.meses==null) {
|
if(this.meses==null) {
|
||||||
this.meses=new Meses();
|
this.meses=new Meses();
|
||||||
|
try {
|
||||||
|
meses.cargarMeses(this.nombreDatos);
|
||||||
|
} catch (ClassNotFoundException e) {
|
||||||
|
// TODO Auto-generated catch block
|
||||||
|
e.printStackTrace();
|
||||||
|
} catch (IOException e) {
|
||||||
|
// TODO Auto-generated catch block
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
this.meses.elegirMes(anio, mes);
|
this.meses.elegirMes(anio, mes);
|
||||||
if(this.meses.getGestionesActuales().size() == 0) {
|
if(this.meses.getGestionesActuales().size() == 0) {
|
||||||
@ -84,8 +116,17 @@ public class Menu extends JFrame{
|
|||||||
|
|
||||||
private void cargarMes() {
|
private void cargarMes() {
|
||||||
this.pestania.removeAll();
|
this.pestania.removeAll();
|
||||||
this.pestanias.clear();
|
this.listenerPestania();
|
||||||
this.controladores.clear();
|
if(this.pestanias == null) {
|
||||||
|
this.pestanias = new ArrayList<VistaAniadirVisualizar>();
|
||||||
|
}else {
|
||||||
|
this.pestanias.clear();
|
||||||
|
}
|
||||||
|
if(this.controladores == null) {
|
||||||
|
this.controladores = new ArrayList<ControladorAniadirVisualizar>();
|
||||||
|
}else {
|
||||||
|
this.controladores.clear();
|
||||||
|
}
|
||||||
for(Gestion gestion:this.meses.getGestionesActuales()) {
|
for(Gestion gestion:this.meses.getGestionesActuales()) {
|
||||||
VistaAniadirVisualizar vista = new VistaAniadirVisualizar(this, gestion);
|
VistaAniadirVisualizar vista = new VistaAniadirVisualizar(this, gestion);
|
||||||
ControladorAniadirVisualizar controlador = new ControladorAniadirVisualizar(vista);
|
ControladorAniadirVisualizar controlador = new ControladorAniadirVisualizar(vista);
|
||||||
@ -98,9 +139,11 @@ public class Menu extends JFrame{
|
|||||||
|
|
||||||
void cargarPestanias() {
|
void cargarPestanias() {
|
||||||
this.pestania.removeAll();
|
this.pestania.removeAll();
|
||||||
|
this.listenerPestania();
|
||||||
for(VistaAniadirVisualizar vista:this.pestanias) {
|
for(VistaAniadirVisualizar vista:this.pestanias) {
|
||||||
this.pestania.addTab(vista.getName(),vista);
|
this.pestania.addTab(vista.getName(),vista);
|
||||||
}
|
}
|
||||||
|
this.pestania.setSelectedIndex(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void aniadirGestion(String nombre, boolean sumaOResta) {
|
void aniadirGestion(String nombre, boolean sumaOResta) {
|
||||||
@ -111,4 +154,19 @@ public class Menu extends JFrame{
|
|||||||
this.pestania.addTab(vista.getName(),vista);
|
this.pestania.addTab(vista.getName(),vista);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void listenerPestania(){
|
||||||
|
if(this.pestania.getChangeListeners().length == 1) {
|
||||||
|
this.pestania.addChangeListener((ChangeListener)->{
|
||||||
|
if(this.pestania.getTabCount()>0) {
|
||||||
|
try {
|
||||||
|
this.panel.actualizarDatos(meses.getGestionesActuales().get(this.pestania.getSelectedIndex()));
|
||||||
|
}catch (Exception e) {
|
||||||
|
// TODO: handle exception
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -54,7 +54,7 @@ public class VistaAniadirVisualizar extends JPanel{
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void aniadirElemento(String nombre, float dinero, ControladorAniadirVisualizar controlador) {
|
public void aniadirElemento(String nombre, float dinero, ControladorAniadirVisualizar controlador) {
|
||||||
Transaccion transaccion = new Transaccion(nombre, dinero,panelLateral.getDate());
|
Transaccion transaccion = new Transaccion(nombre, dinero,panelLateral.getDate(),this.gestiones);
|
||||||
this.gestiones.aniadirGasto(transaccion);
|
this.gestiones.aniadirGasto(transaccion);
|
||||||
JCheckBox check = new JCheckBox(transaccion.toString());
|
JCheckBox check = new JCheckBox(transaccion.toString());
|
||||||
check.setSelected(true);
|
check.setSelected(true);
|
||||||
|
@ -25,7 +25,7 @@ public class VistaPanelLateral extends JPanel{
|
|||||||
VistaPanelLateral(GridBagConstraints constrain, Meses meses){
|
VistaPanelLateral(GridBagConstraints constrain, Meses meses){
|
||||||
this.setPreferredSize(new Dimension(200,200));
|
this.setPreferredSize(new Dimension(200,200));
|
||||||
this.meses=meses;
|
this.meses=meses;
|
||||||
this.total = new JTextArea();
|
this.total = new JTextArea(String.valueOf(meses.getTotal()));
|
||||||
this.gastoEnvio = new JTextArea();
|
this.gastoEnvio = new JTextArea();
|
||||||
this.mostrarEstadisticas = new JButton("Mostrar grafico del mes");
|
this.mostrarEstadisticas = new JButton("Mostrar grafico del mes");
|
||||||
this.aniadirGestion = new JButton("Aniadir nueva gestión");
|
this.aniadirGestion = new JButton("Aniadir nueva gestión");
|
||||||
|
Loading…
Reference in New Issue
Block a user