Aniadida barra y funcionalidades extra
This commit is contained in:
		
							parent
							
								
									18238bd6b8
								
							
						
					
					
						commit
						cc5f59b5aa
					
				
										
											Binary file not shown.
										
									
								
							| @ -74,4 +74,10 @@ public class Gestion implements Serializable{ | ||||
| 		} | ||||
| 	} | ||||
| 	 | ||||
| 	public String toString() { | ||||
| 		String ret = ""; | ||||
| 		ret += this.nombre + " " + this.suma + " " + this.isPositivo; | ||||
| 		return ret; | ||||
| 	} | ||||
| 
 | ||||
| } | ||||
|  | ||||
| @ -10,6 +10,7 @@ import java.io.ObjectOutputStream; | ||||
| import java.io.Serializable; | ||||
| import java.time.Month; | ||||
| import java.util.ArrayList; | ||||
| import java.util.Vector; | ||||
| 
 | ||||
| public class Meses { | ||||
| 	private ArrayList<Mes> meses; | ||||
| @ -109,16 +110,33 @@ private ArrayList<Mes> meses; | ||||
| 		}		 | ||||
| 	} | ||||
| 	 | ||||
| 	public Vector<String> salidaTodo(){ | ||||
| 		Vector<String> ret = new Vector<String>(); | ||||
| 		for(Mes mes:this.meses) { | ||||
| 			ret.add(mes.toString()); | ||||
| 			for(Gestion gestion:mes.getGestiones()) { | ||||
| 				ret.add("  "+gestion.toString()); | ||||
| 				for(Transaccion transaccion:gestion.getElementos()) { | ||||
| 					ret.add("    "+transaccion.toString()); | ||||
| 				} | ||||
| 			} | ||||
| 		} | ||||
| 		return ret; | ||||
| 	} | ||||
| 	 | ||||
| } | ||||
| 
 | ||||
| class Mes implements Serializable{ | ||||
| 	private int anio; | ||||
| 	private Month mes; | ||||
| 	float total; | ||||
| 	int nGestiones; | ||||
| 	ArrayList<Gestion> gestiones; | ||||
| 	Mes(ArrayList<Gestion> gestiones, int anio, Month mes){ | ||||
| 		this.gestiones = gestiones; | ||||
| 		this.anio = anio; | ||||
| 		this.mes = mes; | ||||
| 		this.nGestiones = this.gestiones.size();  | ||||
| 	} | ||||
| 	 | ||||
| 	void aniadirTransaccion(Transaccion transaccion, String nombre, boolean isPositivo) { | ||||
| @ -129,6 +147,7 @@ class Mes implements Serializable{ | ||||
| 			} | ||||
| 		} | ||||
| 		gestiones.add(new Gestion(nombre, isPositivo)); | ||||
| 		this.nGestiones++; | ||||
| 		gestiones.get(this.gestiones.size()-1).aniadirGasto(transaccion); | ||||
| 		return; | ||||
| 	} | ||||
| @ -146,10 +165,16 @@ class Mes implements Serializable{ | ||||
| 	} | ||||
| 	 | ||||
| 	float getTotal() { | ||||
| 		float ret = 0; | ||||
| 		this.total = 0; | ||||
| 		for(Gestion gestion:this.gestiones) { | ||||
| 			ret += gestion.getTotal(); | ||||
| 			this.total += gestion.getTotal(); | ||||
| 		} | ||||
| 		return this.total; | ||||
| 	} | ||||
| 	 | ||||
| 	public String toString() { | ||||
| 		String ret = ""; | ||||
| 		ret += this.mes.toString() + "/" + this.anio + ":" + this.getTotal(); | ||||
| 		return ret; | ||||
| 	} | ||||
| 	 | ||||
|  | ||||
							
								
								
									
										39
									
								
								src/VistaControlador/BarraOpciones.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								src/VistaControlador/BarraOpciones.java
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,39 @@ | ||||
| package VistaControlador; | ||||
| 
 | ||||
| import java.util.ArrayList; | ||||
| 
 | ||||
| import javax.swing.JMenu; | ||||
| import javax.swing.JMenuBar; | ||||
| import javax.swing.JMenuItem; | ||||
| 
 | ||||
| public class BarraOpciones extends JMenuBar{ | ||||
| 	JMenu menuAr; | ||||
| 	JMenuItem cambiarRuta; | ||||
| 	JMenuItem guardarIns; | ||||
| 	JMenu interfaz; | ||||
| 	JMenuItem modoOscuro; | ||||
| 	JMenuItem modoRosa; | ||||
| 	JMenuItem modoClaro; | ||||
| 	JMenu mostrar; | ||||
| 	JMenuItem mostrarTodo; | ||||
| 	public BarraOpciones() { | ||||
| 		this.menuAr = new JMenu("Archivo"); | ||||
| 		this.add(this.menuAr); | ||||
| 		this.guardarIns = new JMenuItem("Guardar instantanea"); | ||||
| 		this.menuAr.add(this.guardarIns); | ||||
| 		this.cambiarRuta = new JMenuItem("Cambiar ruta de guardado"); | ||||
| 		this.menuAr.add(this.cambiarRuta); | ||||
| 		this.interfaz = new JMenu("Interfaz"); | ||||
| 		this.add(this.interfaz); | ||||
| 		this.modoClaro = new JMenuItem("Modo claro"); | ||||
| 		this.interfaz.add(this.modoClaro); | ||||
| 		this.modoOscuro = new JMenuItem("Modo Oscuro"); | ||||
| 		this.interfaz.add(this.modoOscuro); | ||||
| 		this.modoRosa = new JMenuItem("Modo Rosa"); | ||||
| 		this.interfaz.add(this.modoRosa); | ||||
| 		this.mostrar=new JMenu("Mostrar"); | ||||
| 		this.mostrarTodo = new JMenuItem("Mostrar todo"); | ||||
| 		this.mostrar.add(this.mostrarTodo); | ||||
| 		this.add(this.mostrar); | ||||
| 	} | ||||
| } | ||||
							
								
								
									
										114
									
								
								src/VistaControlador/ControladorBarra.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										114
									
								
								src/VistaControlador/ControladorBarra.java
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,114 @@ | ||||
| package VistaControlador; | ||||
| 
 | ||||
| import java.awt.Color; | ||||
| import java.awt.event.ActionEvent; | ||||
| import java.awt.event.ActionListener; | ||||
| import java.io.IOException; | ||||
| 
 | ||||
| import javax.swing.JOptionPane; | ||||
| 
 | ||||
| public class ControladorBarra implements ActionListener{ | ||||
| 	private BarraOpciones barra; | ||||
| 	private Menu menu; | ||||
| 	public ControladorBarra(BarraOpciones barra, Menu menu) { | ||||
| 		this.barra = barra; | ||||
| 		this.menu = menu; | ||||
| 		this.aniadirListeners(); | ||||
| 	} | ||||
| 	 | ||||
| 	@Override | ||||
| 	public void actionPerformed(ActionEvent e) { | ||||
| 		switch(e.getActionCommand()) { | ||||
| 			case "Cambiar ruta":{ | ||||
| 				String ruta = JOptionPane.showInputDialog("Introduce la nuev a ruta"); | ||||
| 				if(ruta == null) return; | ||||
| 				if(ruta.equals("")) { | ||||
| 					JOptionPane.showMessageDialog(null, "Debe introducir algo", "error", JOptionPane.WARNING_MESSAGE); | ||||
| 					return; | ||||
| 				} | ||||
| 				this.menu.nombreDatos = ruta; | ||||
| 				break; | ||||
| 			} | ||||
| 			case "Guardar instantanea":{ | ||||
| 				String ruta = JOptionPane.showInputDialog("Introduce la ruta de la instantanea"); | ||||
| 				if(ruta == null) return; | ||||
| 				if(ruta.equals("")) { | ||||
| 					JOptionPane.showMessageDialog(null, "Debe introducir algo", "error", JOptionPane.WARNING_MESSAGE); | ||||
| 					return; | ||||
| 				} | ||||
| 				try { | ||||
| 					this.menu.meses.guardarMeses(ruta); | ||||
| 				} catch (IOException e1) { | ||||
| 					// TODO Auto-generated catch block | ||||
| 					System.out.println("Fichero invalido"); | ||||
| 				} | ||||
| 				break; | ||||
| 			} | ||||
| 			case "Modo claro":{ | ||||
| 				this.menu.setBackground(Color.WHITE); | ||||
| 				this.menu.setOpacity(1); | ||||
| 				this.menu.repaint(); | ||||
| 				this.menu.revalidate(); | ||||
| 				this.menu.panelCentral.setOpaque(true); | ||||
| 				this.menu.panelCentral.setBackground(Color.WHITE); | ||||
| 				this.menu.panelCentral.repaint(); | ||||
| 				this.menu.panelCentral.revalidate(); | ||||
| 				this.menu.panel.setBackground(Color.WHITE); | ||||
| 				this.menu.panel.repaint(); | ||||
| 				this.menu.panel.revalidate(); | ||||
| 				break; | ||||
| 			} | ||||
| 			case "Modo rosa":{ | ||||
| 				this.menu.setBackground(Color.PINK); | ||||
| 				this.menu.setOpacity(1); | ||||
| 				this.menu.repaint(); | ||||
| 				this.menu.revalidate(); | ||||
| 				this.menu.panelCentral.setOpaque(true); | ||||
| 				this.menu.panelCentral.setBackground(Color.PINK); | ||||
| 				this.menu.panelCentral.repaint(); | ||||
| 				this.menu.panelCentral.revalidate(); | ||||
| 				this.menu.panel.setOpaque(true); | ||||
| 				this.menu.panel.setBackground(Color.PINK); | ||||
| 				this.menu.panel.repaint(); | ||||
| 				this.menu.panel.revalidate(); | ||||
| 				break; | ||||
| 			} | ||||
| 			case "Modo oscuro":{ | ||||
| 				this.menu.setBackground(Color.BLACK); | ||||
| 				this.menu.repaint(); | ||||
| 				this.menu.revalidate(); | ||||
| 				this.menu.panelCentral.setOpaque(true); | ||||
| 				this.menu.panelCentral.setBackground(Color.BLACK); | ||||
| 				this.menu.panelCentral.repaint(); | ||||
| 				this.menu.panelCentral.revalidate(); | ||||
| 				this.menu.panel.setOpaque(true); | ||||
| 				this.menu.panel.setBackground(Color.BLACK); | ||||
| 				this.menu.panel.repaint(); | ||||
| 				this.menu.panel.revalidate(); | ||||
| 				break; | ||||
| 			} | ||||
| 			case "Mostrar todo":{ | ||||
| 				MostrarTodo mostrar = new MostrarTodo(this.menu.meses); | ||||
| 				mostrar.setVisible(true); | ||||
| 				break; | ||||
| 			} | ||||
| 		} | ||||
| 		 | ||||
| 	} | ||||
| 	 | ||||
| 	private void aniadirListeners() { | ||||
| 		this.barra.cambiarRuta.addActionListener(this); | ||||
| 		this.barra.cambiarRuta.setActionCommand("Cambiar ruta"); | ||||
| 		this.barra.guardarIns.addActionListener(this); | ||||
| 		this.barra.guardarIns.setActionCommand("Guardar instantanea"); | ||||
| 		this.barra.modoClaro.addActionListener(this); | ||||
| 		this.barra.modoClaro.setActionCommand("Modo claro"); | ||||
| 		this.barra.modoRosa.addActionListener(this); | ||||
| 		this.barra.modoRosa.setActionCommand("Modo rosa"); | ||||
| 		this.barra.modoOscuro.addActionListener(this); | ||||
| 		this.barra.modoOscuro.setActionCommand("Modo oscuro"); | ||||
| 		this.barra.mostrarTodo.addActionListener(this); | ||||
| 		this.barra.mostrarTodo.setActionCommand("Mostrar todo"); | ||||
| 	} | ||||
| 
 | ||||
| } | ||||
| @ -10,6 +10,7 @@ import java.util.ArrayList; | ||||
| 
 | ||||
| import javax.swing.JButton; | ||||
| import javax.swing.JFrame; | ||||
| import javax.swing.JMenuItem; | ||||
| import javax.swing.JOptionPane; | ||||
| import javax.swing.JPanel; | ||||
| import javax.swing.JTabbedPane; | ||||
| @ -31,9 +32,12 @@ public class Menu extends JFrame{ | ||||
| 	Meses meses; | ||||
| 	ArrayList<VistaAniadirVisualizar> pestanias; | ||||
| 	ArrayList<ControladorAniadirVisualizar> controladores; | ||||
| 	BarraOpciones barra; | ||||
| 	protected Gestion datosGastos; | ||||
| 	protected Gestion datosIngresos; | ||||
| 	public Menu() { | ||||
| 		this.barra = new BarraOpciones(); | ||||
| 		ControladorBarra controladorBarra = new ControladorBarra(barra, this); | ||||
| 		this.nombreDatos = ".mes"; | ||||
| 		setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE); | ||||
| 		  | ||||
| @ -50,10 +54,14 @@ public class Menu extends JFrame{ | ||||
| 		this.setLayout(new GridBagLayout()); | ||||
| 		this.panel = new VistaPanelLateral(constrain, this.meses); | ||||
| 		this.panelCentral = new JPanel(); | ||||
| 
 | ||||
| 		constrain.fill = GridBagConstraints.VERTICAL; | ||||
| 		constrain.fill = GridBagConstraints.HORIZONTAL; | ||||
| 		constrain.gridx = 0; | ||||
| 		constrain.gridy = 0; | ||||
| 		constrain.weightx = 10; | ||||
| 		this.add(this.barra); | ||||
| 		constrain.fill = GridBagConstraints.VERTICAL; | ||||
| 		constrain.gridx = 1; | ||||
| 		constrain.gridy = 1; | ||||
| 		constrain.weightx = 2; | ||||
| 		this.panelCentral.add(pestania,constrain); | ||||
| 		getContentPane().add(pestania); | ||||
| @ -63,6 +71,10 @@ public class Menu extends JFrame{ | ||||
| 		setLocationRelativeTo(null); | ||||
| 		ControladorPanelLateral controlador3 = new ControladorPanelLateral(this.panel, this); | ||||
| 		this.listenerPestania(); | ||||
| 		constrain.fill = GridBagConstraints.VERTICAL; | ||||
| 		constrain.gridx = 2; | ||||
| 		constrain.gridy = 1; | ||||
| 		constrain.weightx = 2; | ||||
| 		this.add(this.panel); | ||||
| 	} | ||||
| 	 | ||||
|  | ||||
							
								
								
									
										21
									
								
								src/VistaControlador/MostrarTodo.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								src/VistaControlador/MostrarTodo.java
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,21 @@ | ||||
| package VistaControlador; | ||||
| 
 | ||||
| import java.util.Vector; | ||||
| 
 | ||||
| import javax.swing.JFrame; | ||||
| import javax.swing.JLabel; | ||||
| import javax.swing.JList; | ||||
| 
 | ||||
| import Logica.Gestion; | ||||
| import Logica.Meses; | ||||
| import Logica.Transaccion; | ||||
| 
 | ||||
| public class MostrarTodo extends JFrame{ | ||||
| 	JList<String> elementos; | ||||
| 	 | ||||
| 	public MostrarTodo(Meses meses) { | ||||
| 		super(); | ||||
| 		this.elementos=new JList<String>(meses.salidaTodo()); | ||||
| 		this.add(elementos); | ||||
| 	} | ||||
| } | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user