elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Análisis del vídeo del hackeo al Sindicato de los Mossos de Esquadra


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 [14] 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 ... 53
131  Programación / Java / Cannot establish a connection to jdbc:mysql://localhost:3306/muebleria?zeroDateT en: 30 Julio 2019, 08:03
Cannot establish a connection to jdbc:mysql://localhost:3306/muebleria?zeroDateTimeBehavior=convertToNull using com.mysql.jdbc.Driver (java.lang.ClassCastException: java.math.BigInteger cannot be cast to java.lang.Long)

bueno ese es el problema
132  Programación / Java / objeto inalcanzable en: 29 Julio 2019, 07:40
Hola, tengo un problema al hacer el abm de libros, me sale que el objeto libro es inalcanzable y que fue resuelto a nulo, sera porque estoy usando todo los datos de tipo referencia? porque hice uno con puros datos primitivos y no tuve problemas, fijense en la pagina de JSF, la clase y la clase LibroBean creo que ahi tengo los errores pero no se,(SOLO EL BORRADO)  :huh:

Código
  1. <?xml version='1.0' encoding='UTF-8' ?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml"
  4.      xmlns:h="http://xmlns.jcp.org/jsf/html"
  5.      xmlns:p="http://primefaces.org/ui">
  6.    <h:head>
  7.        <title>ABM Biblioteca</title>
  8.    </h:head>
  9.    <h:body>
  10.        <h:form id="frmBiblioteca" title="ABM Biblioteca">
  11.            <p:growl id="mensaje"/>
  12.            <p:panel id="pnlOpciones" header="ABM Biblioteca">
  13.                <p:menubar>
  14.                    <p:menuitem value="Agregar Libro"/>
  15.                    <p:menuitem value="Ordenar (A - Z)" actionListener="#{libroBean.ordenarAscendente()}" update="dtLibros"/>
  16.                    <p:menuitem value="Ordenar (Z - A)" actionListener="#{libroBean.ordenarDescendente()}" update="dtLibros" />
  17.                    <p:menuitem value="Buscar Libro"  />
  18.                </p:menubar>
  19.            </p:panel>
  20.  
  21.            <p:panelGrid id="pgAgrear" columns="2">
  22.                <p:outputLabel id="lblCodigo" value="Código: "/>
  23.                <p:inputNumber id="inpCodigo" value="#{libro.código}"/>
  24.                <p:outputLabel id="lblISBN" value="ISBN: "/>
  25.                <p:inputNumber id="inpISBN" value="#{libro.ISBN}"/>
  26.                <p:outputLabel id="lblTitulo" value="Titulo: "/>
  27.                <p:inputText id="inpTitulo" value="#{libro.titulo}"/>
  28.                <p:outputLabel id="lblPaginas" value="Cantidad Paginas: "/>
  29.                <p:inputNumber id="inpPaginas" value="#{cantPaginas}"/>
  30.                <p:outputLabel id="lblTematica" value="Tematica: "/>
  31.                <p:inputText id="inpTematica" value="#{libro.temática}"/>
  32.  
  33.  
  34.                <!--
  35.                private Autor autor;
  36.                private LocalDate fechaEdicion;-->
  37.            </p:panelGrid>
  38.  
  39.            <p:dataTable id="dtLibros" var="libros" value="#{libroBean.libros}">
  40.                <p:column headerText="Codigo">
  41.                    <h:outputText value="#{libros.código}"/>
  42.                </p:column>
  43.                <p:column headerText="ISBN">
  44.                    <h:outputText value="#{libros.ISBN}"/>
  45.                </p:column>
  46.                <p:column headerText="Titulo">
  47.                    <h:outputText value="#{libros.titulo}"/>
  48.                </p:column>
  49.                <p:column headerText="Cantidad Páginas">
  50.                    <h:outputText value="#{libros.cantPaginas}"/>
  51.                </p:column>
  52.                <p:column headerText="Tematica">
  53.                    <h:outputText value="#{libros.temática}"/>
  54.                </p:column>
  55.                <p:column headerText="Autor">
  56.                    <h:outputText value="#{libros.autor.nombre} #{libros.autor.apellido}"/>
  57.                </p:column>
  58.                <p:column headerText="Fecha publicación">
  59.                    <h:outputText value="#{libros.fechaEdicion.dayOfMonth}/#{libros.fechaEdicion.monthValue}/#{libros.fechaEdicion.year}"/>
  60.                </p:column>
  61.                <p:column headerText="Acción">
  62.                    <p:commandButton id="btnEliminar" value="Eliminar" actionListener="#{libroBean.borrar(libros)}" update="dtLibros"/>
  63.                </p:column>
  64.            </p:dataTable>
  65.        </h:form>
  66.    </h:body>
  67. </html>
  68.  
  69.  


Código
  1. /*
  2.  * To change this license header, choose License Headers in Project Properties.
  3.  * To change this template file, choose Tools | Templates
  4.  * and open the template in the editor.
  5.  */
  6. package apliacion.dao;
  7.  
  8. import aplicacion.modelo.dominio.Libro;
  9. import java.util.List;
  10.  
  11. /**
  12.  *
  13.  * @author Ana Kéldysh
  14.  */
  15. public interface ILibroDAO{
  16.  
  17.    public void agregar(Libro nuevo);
  18.  
  19.    public void borrar(Libro borrado);
  20.  
  21.    public void modificar(Libro modificado);
  22.  
  23.    public void ordenarAscendente();
  24.  
  25.    public void ordenarDescendente();
  26.  
  27.    public List<Libro> buscarLibros(String buscado);
  28.  
  29.    public List<Libro> mostrarLibros();
  30.  
  31. }
  32.  

Código
  1. /*
  2.  * To change this license header, choose License Headers in Project Properties.
  3.  * To change this template file, choose Tools | Templates
  4.  * and open the template in the editor.
  5.  */
  6. package aplicacion.controlador.bean;
  7.  
  8. import apliacion.dao.ILibroDAO;
  9. import aplicacion.dao.imp.ILibroDAOImp;
  10. import aplicacion.modelo.dominio.Libro;
  11. import java.io.Serializable;
  12. import java.util.ArrayList;
  13. import java.util.List;
  14. import javax.annotation.PostConstruct;
  15. import javax.faces.bean.ManagedBean;
  16. import javax.faces.bean.SessionScoped;
  17.  
  18. /**
  19.  *
  20.  * @author Ana Kéldysh
  21.  */
  22. @ManagedBean
  23. @SessionScoped
  24. public class LibroBean implements Serializable{
  25.  
  26.    private Libro libro;
  27.    private ILibroDAO libroDAO;
  28.    private List<Libro> libros;
  29.  
  30.    /**
  31.      * Creates a new instance of LibroBean
  32.      */
  33.    public LibroBean() {
  34.        libroDAO = new ILibroDAOImp();
  35.        libros = new ArrayList<>();
  36.    }
  37.  
  38.    public void generarLibros() {
  39.        libros = libroDAO.mostrarLibros();
  40.    }
  41.  
  42.    @PostConstruct
  43.    public void iniciarLibro() {
  44.        libro = new Libro();
  45.        generarLibros();
  46.    }
  47.  
  48.    public void agregar(Libro nuevo) {
  49.        libroDAO.agregar(nuevo);
  50.    }
  51.  
  52.    public void borrar(Libro borrado) {
  53.        libroDAO.borrar(borrado);
  54.    }
  55.  
  56.    public void modificar(Libro modificado) {
  57.        libroDAO.modificar(modificado);
  58.    }
  59.  
  60.    public void ordenarAscendente() {
  61.        libroDAO.ordenarAscendente();
  62.    }
  63.  
  64.    public void ordenarDescendente() {
  65.        libroDAO.ordenarDescendente();
  66.    }
  67.  
  68.    public List<Libro> buscarLibros(String buscado) {
  69.        return libroDAO.buscarLibros(buscado);
  70.    }
  71.  
  72.    public List<Libro> mostrarLibros() {
  73.        return libroDAO.mostrarLibros();
  74.    }
  75.  
  76.    public Libro getLibro() {
  77.        return libro;
  78.    }
  79.  
  80.    public void setLibro(Libro libro) {
  81.        this.libro = libro;
  82.    }
  83.  
  84.    public ILibroDAO getLibroDAO() {
  85.        return libroDAO;
  86.    }
  87.  
  88.    public void setLibroDAO(ILibroDAO libroDAO) {
  89.        this.libroDAO = libroDAO;
  90.    }
  91.  
  92.    @Override
  93.    public String toString() {
  94.        return "LibroBean{" + "libro=" + libro + ", libroDAO=" + libroDAO + ", libros=" + libros + '}';
  95.    }
  96.  
  97.    public List<Libro> getLibros() {
  98.        return libros;
  99.    }
  100.  
  101.    public void setLibros(List<Libro> libros) {
  102.        this.libros = libros;
  103.    }
  104.  
  105. }
  106.  

Código
  1. /*
  2.  * To change this license header, choose License Headers in Project Properties.
  3.  * To change this template file, choose Tools | Templates
  4.  * and open the template in the editor.
  5.  */
  6. package aplicacion.controlador.bean;
  7.  
  8. import apliacion.dao.ILibroDAO;
  9. import aplicacion.dao.imp.ILibroDAOImp;
  10. import aplicacion.modelo.dominio.Autor;
  11. import aplicacion.modelo.dominio.Libro;
  12. import java.time.LocalDate;
  13.  
  14. /**
  15.  *
  16.  * @author Ana Kéldysh
  17.  */
  18. public class Test {
  19.  
  20.    public static void main(String[] args) {
  21.  
  22.        ILibroDAO lista = new ILibroDAOImp();
  23.        lista.mostrarLibros().forEach((a) -> {
  24.            System.out.println(a.getCódigo());
  25.        });
  26.        System.out.println("Despues de borrar");
  27.        lista.borrar(new Libro(1, 1000, "Java Como Programar", 1000, "Programación", new Autor(), LocalDate.now()));
  28.        lista.mostrarLibros().forEach((a) -> {
  29.            System.out.println(a.getCódigo());
  30.        });
  31.    }
  32. }
  33.  


Código
  1. /*
  2.  * To change this license header, choose License Headers in Project Properties.
  3.  * To change this template file, choose Tools | Templates
  4.  * and open the template in the editor.
  5.  */
  6. package aplicacion.dao.imp;
  7.  
  8. import apliacion.dao.ILibroDAO;
  9. import aplicacion.modelo.dominio.Libro;
  10. import aplicacion.modelo.util.ListaLibros;
  11. import java.io.Serializable;
  12. import java.util.List;
  13.  
  14. /**
  15.  *
  16.  * @author Ana Kéldysh
  17.  */
  18. public class ILibroDAOImp implements ILibroDAO, Serializable {
  19.  
  20.    private ListaLibros libros;
  21.  
  22.    public ILibroDAOImp() {
  23.        libros = new ListaLibros();
  24.    }
  25.  
  26.    @Override
  27.    public void agregar(Libro nuevo) {
  28.        libros.agregar(nuevo);
  29.    }
  30.  
  31.    @Override
  32.    public void borrar(Libro borrado) {
  33.        libros.borrar(borrado);
  34.    }
  35.  
  36.    @Override
  37.    public void modificar(Libro modificado) {
  38.        libros.modificar(modificado);
  39.    }
  40.  
  41.    @Override
  42.    public void ordenarAscendente() {
  43.        libros.ordenarAscendente();
  44.    }
  45.  
  46.    @Override
  47.    public void ordenarDescendente() {
  48.        libros.ordenarDescendente();
  49.    }
  50.  
  51.    @Override
  52.    public List<Libro> buscarLibros(String buscado) {
  53.        return libros.buscarLibros(buscado);
  54.    }
  55.  
  56.    @Override
  57.    public List<Libro> mostrarLibros() {
  58.        return libros.getLibros();
  59.    }
  60.  
  61. }
  62.  



Código
  1. /*
  2.  * To change this license header, choose License Headers in Project Properties.
  3.  * To change this template file, choose Tools | Templates
  4.  * and open the template in the editor.
  5.  */
  6. package aplicacion.modelo.dominio;
  7.  
  8. import java.io.Serializable;
  9.  
  10. /**
  11.  *
  12.  * @author Ana Kéldysh
  13.  */
  14. public class Autor implements Serializable {
  15.  
  16.    private String nombre;
  17.    private String apellido;
  18.    private Integer edad;
  19.    private String nacionalidad;
  20.  
  21.    public Autor() {
  22.    }
  23.  
  24.    public Autor(String nombre, String apellido, Integer edad, String nacionalidad) {
  25.        this.nombre = nombre;
  26.        this.apellido = apellido;
  27.        this.edad = edad;
  28.        this.nacionalidad = nacionalidad;
  29.    }
  30.  
  31.    public String getNacionalidad() {
  32.        return nacionalidad;
  33.    }
  34.  
  35.    public void setNacionalidad(String nacionalidad) {
  36.        this.nacionalidad = nacionalidad;
  37.    }
  38.  
  39.    public String getNombre() {
  40.        return nombre;
  41.    }
  42.  
  43.    public void setNombre(String nombre) {
  44.        this.nombre = nombre;
  45.    }
  46.  
  47.    public String getApellido() {
  48.        return apellido;
  49.    }
  50.  
  51.    public void setApellido(String apellido) {
  52.        this.apellido = apellido;
  53.    }
  54.  
  55.    public Integer getEdad() {
  56.        return edad;
  57.    }
  58.  
  59.    public void setEdad(Integer edad) {
  60.        this.edad = edad;
  61.    }
  62.  
  63.    @Override
  64.    public String toString() {
  65.        return "Autor{" + "nombre=" + nombre + ", apellido=" + apellido + ", edad=" + edad + ", nacionalidad=" + nacionalidad + '}';
  66.    }
  67.  
  68. }
  69.  



Código
  1. /*
  2.  * To change this license header, choose License Headers in Project Properties.
  3.  * To change this template file, choose Tools | Templates
  4.  * and open the template in the editor.
  5.  */
  6. package aplicacion.modelo.dominio;
  7.  
  8. import java.io.Serializable;
  9. import java.time.LocalDate;
  10.  
  11. /**
  12.  *
  13.  * @author Ana Kéldysh
  14.  */
  15. public class Libro implements Serializable {
  16.  
  17.    private Integer código;
  18.    private Integer ISBN;
  19.    private String titulo;
  20.    private Integer cantPaginas;
  21.    private String temática;
  22.    private Autor autor;
  23.    private LocalDate fechaEdicion;
  24.  
  25.    public Libro() {
  26.    }
  27.  
  28.    public Libro(Integer código, Integer ISBN, String titulo, Integer cantPaginas, String temática, Autor autor, LocalDate fechaEdicion) {
  29.        this.código = código;
  30.        this.ISBN = ISBN;
  31.        this.titulo = titulo;
  32.        this.cantPaginas = cantPaginas;
  33.        this.temática = temática;
  34.        this.autor = autor;
  35.        this.fechaEdicion = fechaEdicion;
  36.    }
  37.  
  38.    public Integer getCódigo() {
  39.        return código;
  40.    }
  41.  
  42.    public void setCódigo(Integer código) {
  43.        this.código = código;
  44.    }
  45.  
  46.    public Integer getISBN() {
  47.        return ISBN;
  48.    }
  49.  
  50.    public void setISBN(Integer ISBN) {
  51.        this.ISBN = ISBN;
  52.    }
  53.  
  54.    public String getTitulo() {
  55.        return titulo;
  56.    }
  57.  
  58.    public void setTitulo(String titulo) {
  59.        this.titulo = titulo;
  60.    }
  61.  
  62.    public Integer getCantPaginas() {
  63.        return cantPaginas;
  64.    }
  65.  
  66.    public void setCantPaginas(Integer cantPaginas) {
  67.        this.cantPaginas = cantPaginas;
  68.    }
  69.  
  70.    public String getTemática() {
  71.        return temática;
  72.    }
  73.  
  74.    public void setTemática(String temática) {
  75.        this.temática = temática;
  76.    }
  77.  
  78.    public Autor getAutor() {
  79.        return autor;
  80.    }
  81.  
  82.    public void setAutor(Autor autor) {
  83.        this.autor = autor;
  84.    }
  85.  
  86.    public LocalDate getFechaEdicion() {
  87.        return fechaEdicion;
  88.    }
  89.  
  90.    public void setFechaEdicion(LocalDate fechaEdicion) {
  91.        this.fechaEdicion = fechaEdicion;
  92.    }
  93.  
  94.    @Override
  95.    public String toString() {
  96.        return "Libro{" + "c\u00f3digo=" + código + ", ISBN=" + ISBN + ", titulo=" + titulo + ", cantPaginas=" + cantPaginas + ", tem\u00e1tica=" + temática + ", autor=" + autor + ", fechaEdicion=" + fechaEdicion + '}';
  97.    }
  98.  
  99. }
  100.  


Código
  1. /*
  2.  * To change this license header, choose License Headers in Project Properties.
  3.  * To change this template file, choose Tools | Templates
  4.  * and open the template in the editor.
  5.  */
  6. package aplicacion.modelo.util;
  7.  
  8. import aplicacion.modelo.dominio.Autor;
  9. import java.io.Serializable;
  10. import java.util.ArrayList;
  11. import java.util.List;
  12.  
  13. /**
  14.  *
  15.  * @author Ana Kéldysh
  16.  */
  17. public class ListaAutores implements Serializable {
  18.  
  19.    private List<Autor> autores;
  20.  
  21.    public ListaAutores() {
  22.        autores = new ArrayList<>();
  23.        autores.add(new Autor("Vanessa", "Navarro", 34, "Argentina"));
  24.        autores.add(new Autor("Ana", "Kéldysh", 15, "Argentina"));
  25.    }
  26.  
  27.    public List<Autor> getAutores() {
  28.        return autores;
  29.    }
  30.  
  31.    public void setAutores(List<Autor> autores) {
  32.        this.autores = autores;
  33.    }
  34.  
  35.    @Override
  36.    public String toString() {
  37.        return "ListaAutores{" + "autores=" + autores + '}';
  38.    }
  39.  
  40. }
  41.  


Código
  1. /*
  2.  * To change this license header, choose License Headers in Project Properties.
  3.  * To change this template file, choose Tools | Templates
  4.  * and open the template in the editor.
  5.  */
  6. package aplicacion.modelo.util;
  7.  
  8. import aplicacion.modelo.dominio.Libro;
  9. import java.io.Serializable;
  10. import java.time.LocalDate;
  11. import java.util.ArrayList;
  12. import java.util.Comparator;
  13. import java.util.List;
  14. import javax.faces.application.FacesMessage;
  15. import javax.faces.context.FacesContext;
  16.  
  17. /**
  18.  *
  19.  * @author Ana Kéldysh
  20.  */
  21. public class ListaLibros implements Serializable {
  22.  
  23.    private List<Libro> libros;
  24.    private ListaAutores autores;
  25.    private List<Libro> auxiliar;
  26.  
  27.    public ListaLibros() {
  28.        libros = new ArrayList<>();
  29.        autores = new ListaAutores();
  30.        auxiliar = new ArrayList<>();
  31.        libros.add(new Libro(1, 1000, "Java Como Programar", 1000, "Programación", autores.getAutores().get(0), LocalDate.now()));
  32.        libros.add(new Libro(2, 2000, "C++", 1000, "Programación", autores.getAutores().get(1), LocalDate.now()));
  33.        libros.add(new Libro(3, 3000, "Python", 1000, "Programación", autores.getAutores().get(1), LocalDate.now()));
  34.    }
  35.  
  36.    public void agregar(Libro nuevo) {
  37.        libros.add(nuevo);
  38.        FacesContext fc = FacesContext.getCurrentInstance();
  39.        fc.addMessage(null, new FacesMessage("Agregado con exito!!"));
  40.    }
  41.  
  42.    public void borrar(Libro borrado) {
  43.        boolean encontrado = false;
  44.        for (int i = 0; i < libros.size() && !encontrado; i++) {
  45.            if (libros.get(i).getCódigo().equals(borrado.getCódigo())) {
  46.                libros.remove(i);
  47.                encontrado = true;
  48.            }
  49.        }
  50.        if (encontrado) {
  51.            FacesContext fc = FacesContext.getCurrentInstance();
  52.            fc.addMessage(null, new FacesMessage("Borrado con exito!!"));
  53.        }
  54.    }
  55.  
  56.    public void modificar(Libro modificado) {
  57.        boolean encontrado = false;
  58.        for (int i = 0; i < libros.size() && !encontrado; i++) {
  59.            if (libros.get(i).getCódigo().equals(modificado.getCódigo())) {
  60.                libros.set(i, modificado);
  61.                encontrado = true;
  62.            }
  63.        }
  64.        if (encontrado) {
  65.            FacesContext fc = FacesContext.getCurrentInstance();
  66.            fc.addMessage(null, new FacesMessage("Modificado con exito!!"));
  67.        }
  68.    }
  69.  
  70.    public void ordenarAscendente() {
  71.        libros.sort(Comparator.comparing(Libro::getCódigo));
  72.    }
  73.  
  74.    public void ordenarDescendente() {
  75.        libros.sort(Comparator.comparing(Libro::getCódigo).reversed());
  76.    }
  77.  
  78.    public List<Libro> buscarLibros(String buscado) {
  79.        auxiliar.clear();
  80.        for (int i = 0; i < libros.size(); i++) {
  81.            if (libros.get(i).getTitulo().startsWith(buscado)) {
  82.                auxiliar.add(libros.get(i));
  83.            }
  84.        }
  85.        return auxiliar;
  86.    }
  87.  
  88.    public List<Libro> getLibros() {
  89.        auxiliar.clear();
  90.        for (int i = 0; i < libros.size(); i++) {
  91.            auxiliar.add(libros.get(i));
  92.        }
  93.        return auxiliar;
  94.    }
  95.  
  96.    public void setLibros(List<Libro> libros) {
  97.        this.libros = libros;
  98.    }
  99.  
  100.    @Override
  101.    public String toString() {
  102.        return "ListaLibros{" + "libros=" + libros + ", autores=" + autores + '}';
  103.    }
  104.  
  105.    public ListaAutores getAutores() {
  106.        return autores;
  107.    }
  108.  
  109.    public void setAutores(ListaAutores autores) {
  110.        this.autores = autores;
  111.    }
  112.  
  113.    public List<Libro> getAuxiliar() {
  114.        return auxiliar;
  115.    }
  116.  
  117.    public void setAuxiliar(List<Libro> auxiliar) {
  118.        this.auxiliar = auxiliar;
  119.    }
  120.  
  121. }
  122.  


133  Programación / Java / me ayudan con los scopes jsf 3.0 en: 26 Julio 2019, 12:11
me ayudan con los scopes del managedbean? request , view seession, etc? quiero ejemplos porfa  ;-)
134  Programación / Java / Re: ordenar lista de Perro(s) en: 25 Julio 2019, 01:41
gracias bb  :D
135  Programación / Java / ordenar lista de Perro(s) en: 24 Julio 2019, 08:06
Hola tengo una duda sobre la sintaxis del metodo para ordenar listas segun el un ID unico, quiero ordenarlo de mayor a menor y viceversa no me acuerdo como era algo parecido a lista.sort(compareTo ) y con Lambda afff no recuerdo  :huh:
136  Programación / Java / pequeña duda de loso objetos de la clase String en: 22 Julio 2019, 08:56
Hola queria saber porque se dice que los objetos de la clase String son inmutables? Hasta ahora veo que con metodos no se puede modificar un objeto de esa clase, pero al hacer esto veo que se modifica
Código
  1. String saludo = "Hola";
  2. saludo = "Chau";
Quiere decir que al hacer esta operacion de asignacion estoy creando otro objeto con el mismo nombre? Ayudaaaaaaaaa!!  :laugh:
137  Programación / Java / Re: Cambiar de estado de los registros en: 21 Julio 2019, 11:42
Hola mas facil es con un combobox(activo/inactivo) y un boton (actualizar, para todo el registro) y ya  ;-)
138  Programación / Java / Re: clases hijas que al ser instanciadas tienen el mismo valor del atributo estatico en: 18 Julio 2019, 00:49
muchas gracias, con las dos primeras lineas que leí me ha quedado bien claro, era lo que yo sospechaba que pasaba en estas clases, te amo  ;-)
139  Programación / Java / clases hijas que al ser instanciadas tienen el mismo valor del atributo estatico en: 17 Julio 2019, 06:42
clases hijas que al ser instanciadas tienen el mismo valor del atributo estatico del padre(clase abstracta)

Esto de crear clases hijas sin obtener un nuevo valor para el atributo privado estatico "saldo" en cada instancia , me pueden decir porque es valido esto? yo trate de simular el dinero disponible que posee un cajero y me sale que esta bien pero exijo explicaciones  :huh:

Código
  1. package padre;
  2.  
  3. import java.util.Scanner;
  4.  
  5. /**
  6.  *
  7.  * @author Ana Keldysh, Vanessa Navarro
  8.  */
  9. public abstract class Cajero {
  10.  
  11.    protected int transaccion, retiro, deposito, disponible = 500;
  12.    private static int saldo = 900; //Este valor siempre esta en cada instancia de una clase hija "Cliente", pero no toma el valor 900 sino el ultimo valor modificado o no
  13.    Scanner entrada = new Scanner(System.in);
  14.  
  15.    public void operaciones() {
  16.        int opcion = 0;
  17.        do {
  18.            System.out.println("Elija una opción");
  19.            System.out.println("1. Consultar saldo");
  20.            System.out.println("2. Extraer dinero");
  21.            System.out.println("3. Depositar dinero");
  22.            System.out.println("4. Salir");
  23.            opcion = entrada.nextInt();
  24.            switch (opcion) {
  25.                case 1:
  26.                    System.out.println("Saldo disponible: $" + disponible);
  27.                    break;
  28.                case 2:
  29.                    extraer();
  30.                    transaccion(false, retiro);
  31.                    break;
  32.                case 3:
  33.                    depositar();
  34.                    transaccion(true, deposito);
  35.                    break;
  36.                case 4:
  37.                    System.out.println("Gracias! Vuelva pronto" + Cajero.getSaldo());
  38.                    break;
  39.                default:
  40.                    System.out.println("Opcion incorrecta, intente nuevamente");
  41.            }
  42.        } while (opcion != 4);
  43.  
  44.    }
  45.  
  46.    public abstract void transaccion(boolean depositar, int dinero);
  47.  
  48.    //Método para extraer dinero
  49.    public void extraer() {
  50.        retiro = entrada.nextInt();
  51.    }
  52.  
  53.    //Método para depositar dinero
  54.    public void depositar() {
  55.        deposito = entrada.nextInt();
  56.    }
  57.  
  58.    public static int getSaldo() {
  59.        return saldo;
  60.    }
  61.  
  62.    public static void setSaldo(int aSaldo) {
  63.        saldo = aSaldo;
  64.    }
  65.  
  66. }
  67.  

Código
  1. package hijo;
  2.  
  3. /**
  4.  *
  5.  * @author Ana Keldysh, Vanessa Navarro
  6.  */
  7. public class Cliente extends Cajero {
  8.  
  9.    @Override
  10.    public void transaccion(boolean depositar, int dinero) {
  11.        if (depositar) {
  12.            disponible += dinero;
  13.            Cajero.setSaldo(Cajero.getSaldo() + dinero);
  14.        } else {
  15.            if (dinero > disponible) {
  16.                System.out.println("Saldo insuficiente");
  17.            } else if (dinero > Cajero.getSaldo()) {
  18.                System.out.println("Lo sentimos, la transacción no puede llevarse acabo");
  19.            } else {
  20.                disponible -= dinero;
  21.                Cajero.setSaldo(Cajero.getSaldo() - dinero);
  22.            }
  23.        }
  24.    }
  25.  
  26. }
  27.  

140  Programación / Java / logo no sale en mi interfaz en: 8 Julio 2019, 02:35
No entiendo porque no sale mi logo de coca-cool, ¿sera que no se trabaja con la clase imageicon?

Código
  1. package el.paquete.de.ana;
  2.  
  3. import javax.swing.*;
  4. import java.awt.*;
  5. import java.awt.event.*;
  6.  
  7. /**
  8.  *
  9.  * @author Ana
  10.  */
  11. public class Bienvenida extends JFrame implements ActionListener {
  12.  
  13.    private JLabel label1, label2, label3, label4;
  14.    private JButton boton1;
  15.    private JTextField textfield1;
  16.  
  17.    public Bienvenida() {
  18.        setLayout(null);
  19.  
  20.        setTitle("Bienvenido");
  21.        getContentPane().setBackground(new Color(255, 0, 0));
  22.        setIconImage(new ImageIcon(getClass().getResource("/resources/icon.png")).getImage());
  23.  
  24.        ImageIcon logo = new ImageIcon("/resources/logo-coca.png");
  25.        label1 = new JLabel(logo);
  26.        label1.setBounds(25, 15, 100, 80);//<-Este logo no me sale
  27.        add(label1);
  28.  
  29.        label2 = new JLabel("Bienvenido al Sistema de Control Vacacional");
  30.        label2.setBounds(35, 150, 420, 30);
  31.        label2.setFont(new Font("Andale Mono", 3, 18));
  32.        label2.setForeground(new Color(255, 255, 255));
  33.        add(label2);
  34.  
  35.        label3 = new JLabel("Ingrese su nombre: ");
  36.        label3.setBounds(35, 240, 120, 30);
  37.        label3.setFont(new Font("Andale Mono", 1, 12));
  38.        label3.setForeground(new Color(255, 255, 255));
  39.        add(label3);
  40.  
  41.        label4 = new JLabel("Coca - Cola Company 2019");
  42.        label4.setBounds(170, 560, 210, 30);
  43.        label4.setFont(new Font("Andale Mono", 1, 12));
  44.        label4.setForeground(new Color(255, 255, 255));
  45.        add(label4);
  46.  
  47.        textfield1 = new JTextField();
  48.        textfield1.setBounds(35, 270, 390, 30);
  49.        add(textfield1);
  50.  
  51.        boton1 = new JButton("Aceptar");
  52.        boton1.setBounds(170, 310, 120, 30);
  53.        add(boton1);
  54.        boton1.addActionListener(this);
  55.  
  56.    }
  57.  
  58.    @Override
  59.    public void actionPerformed(ActionEvent e) {
  60.        if (e.getSource() == boton1) {
  61.            System.exit(0);
  62.        }
  63.    }
  64.  
  65. }
  66.  

Mi clase Principal

Código
  1. package paquete.que.contiene.clase.principal;
  2.  
  3. import el.paquete.de.ana;;
  4.  
  5. /**
  6.  *
  7.  * @author Ana
  8.  */
  9. public class Cliente {
  10.  
  11.    /**
  12.      * @param args the command line arguments
  13.      */
  14.    public static void main(String[] args) {
  15.        // TODO code application logic here
  16.        Bienvenida bienvenida = new Bienvenida();
  17.        bienvenida.setBounds(0, 0, 480, 640);
  18.        bienvenida.setVisible(true);
  19.        bienvenida.setResizable(false);
  20.        bienvenida.setLocationRelativeTo(null);
  21.    }
  22.  
  23. }
  24.  
:huh:


Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 [14] 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 ... 53
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines