Scadenziario prodotti con netbeans

di il
5 risposte

Scadenziario prodotti con netbeans

Salve sto cercando di scrivere uno scadenziario di prodotti utilizzando javadb allegato a Netbeans. La tabella che ho scritto è formata da identificativo (chiave primaria), quantità, prodotto ,data di scadenza, posizione nel magazzino. il db è formato da una sola tabella. Vi anticipo che il problema è relativo alla data in quanto, essendo nuovo di Java e di Netbeans mi sono rifatto a un tutorial con Master/detail sample form per creare nello stesso momento una jtable e popolarla con i dati del database. Ho difficoltà solo nel inserire le date. Il problema è che la jtable tratta la data come stringa mentre la tabella del javadb come java.util.date. Su altri forum ho visto parecchie situazioni simili fare uso del converter della jtable, ma non vi nascondo che mi sono incasinato

5 Risposte

  • Re: Scadenziario prodotti con netbeans

    Cosa intendi con "la jtable tratta la data come stringa"?

    E' un problema di dato contenuto nella tabella (nel senso che quando prendi il valore con getValueAt ottieni un oggetto String e non un oggetto Date), o solo di come la data viene formattata nella tabella?

    Nel primo caso basta capire se e dove stai facendo una conversione sbagliata, ma passare da String a Date e viceversa è molto semplice, basta sapere il formato.

    Nel secondo caso ti serve un semplice TableCellRenderer per formattare la data nella JTable come preferisci, ad esempio (preso da https://stackoverflow.com/questions/2412007/format-date-in-jtable-resultset):
    TableCellRenderer tableCellRenderer = new DefaultTableCellRenderer () {
    
    	SimpleDateFormat formatter = new SimpleDateFormat ("MM/dd/yy");
    
    	@Override public Component getTableCellRendererComponent (JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
            if (value instanceof Date) value = formatter.format (value);
            return super.getTableCellRendererComponent (table, value, isSelected, hasFocus, row, column);
        }
    };
    table.getColumnModel ().getColumn (indiceColonnaData).setCellRenderer (tableCellRenderer);
  • Re: Scadenziario prodotti con netbeans

    Il problema è che il master/detail sample form usa le entity manager per gestire il rapporto tra jtable e database e non mi è facile capire dove poter agire per la conversione
  • Re: Scadenziario prodotti con netbeans

    Comunque le date del database ( due gruppi di dati li ho inseriti direttamente nel database) vengono lette nella jtable in maniera regolare. il problema sorge nell'inserimento di nuovi dati nel db. Quindi penso che più di un problema di get sia di set
  • Re: Scadenziario prodotti con netbeans

    Volevo anche chiedere, avendo lo stesso netbeans creato sia le entity sia lo schema del programma se il tablecellrenderer devo inserirlo in set data (quindi al momento della dichiarazione del bean) oppure in altra parte del programma
  • Re: Scadenziario prodotti con netbeans

    Raffaele64 ha scritto:


    se il tablecellrenderer devo inserirlo in set data (quindi al momento della dichiarazione del bean) oppure in altra parte del programma
    Qui non è ben chiaro ..... comunque un TableCellRenderer è una cosa che, tipicamente, si imposta una volta sola appena dopo la creazione del JTable. Insomma, è un setup "una tantum".
Devi accedere o registrarti per scrivere nel forum
5 risposte