Visualizzazione dei risultati da 1 a 5 su 5

Visualizzazione discussione

  1. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da Jamie04 Visualizza il messaggio
    mi piacerebbe vedere qualche pezzo di vostro codice che riguarda la questione
    stavo parlando proprio della form di inserimento/modifica/mostra dei dati.
    Beh, non ho codice recente e "pronto" da mostrarti .... ora che ci penso però tra i miei "vecchi" Java Examples nella sezione "AWT/Swing – Tables" c'è un esempio di tabella con table model custom e con dialog di editazione dei dati.

    Quote Originariamente inviata da Jamie04 Visualizza il messaggio
    Altro dilemma: se il campo è numerico come lo mostro nel jtextfield?
    Ci sono molti modi per farlo: usare un componente di una libreria esterna, usare JFormattedTextField di Swing o anche usare in modo un po' oculato JTextField.
    Il punto è che se si prevede di dover gestire svariati input "numerici", bisogna trovare una buona soluzione che permetta di incapsulare la logica che altrimenti sarebbe sparpagliata. E in sostanza si tratta solo di applicare i principi della programmazione ad oggetti per ottenere qualcosa di ben incapsulato e facilmente riutilizzabile.

    Esempio semplice (codice parziale e non provato):

    codice:
    public class IntegerNumberField extends JTextField {
        public IntegerNumberField(int columns) {
            super(columns);
        }
    
        public Integer getIntegerValue() {
            String text = getText();
    
            if (text.length() > 0) {
                return Integer.valueOf(text);
            } else {
                return null;
            }
        }
    
        public void setIntegerValue(Integer value) {
            if (value != null) {
                setText(value.toString());
            } else {
                setText("");
            }
        }
    
        public void setIntValue(int value) {
            setText(String.valueOf(value));
        }
    }

    Questo già basterebbe per un semplice campo numerico intero senza tanti fronzoli. Ma almeno la logica di conversione è incapsulata qui dentro ... non sparpagliata altrove.
    Potrei anche mettere ad esempio nel costruttore la impostazione di un Document per "filtrare" immediatamente i caratteri non validi durante qualunque tipo di input. Ma ripeto, verrebbe fatto 1 volta sola, qui dentro e ben nascosto al resto.
    Ultima modifica di andbin; 15-04-2014 a 22:31
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.