Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di SigAlexey
    Registrato dal
    May 2014
    residenza
    Treviso
    Messaggi
    186

    JPanel dentro JScrollPane

    Ciao di nuovo (lo so che ormai mi odiate ahaha).
    Ho un problema (un altro xD)
    Vi spiego cosa deve fare la mia finestra:
    ho un database con più campi.
    Nella mia finestra, cliccando un bottone si creano più JTextArea (così posso mettere i campi in colonna) con tutti i record all'interno.

    esce una cosa del genere

    Nome:Toni
    Cognome:Bianchi
    Indirizzo:Via Verdi

    Nome:Bepi
    Cognome:Rossi
    Indirizzo: Via Roma


    e avanti così.
    Dato che i record sono molti, vorrei inserire una JScrollPane sulla destra, così da poter scorrere le varie JTextArea.
    Finora ho provato più volte: se faccio JScrollPane.add(JPanel) e poi nel JPanel aggiungo JTextArea non mi visualizza niente.
    Se faccio JScrollPane.add(JTextArea) e il JScrollPane dentro il JPanel mi visualizza normalmente, senza mettere la barra di scorrimento.

    Grazie per l'aiuto
    Quando sarò esperto aiuterò anch'io xD

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da SigAlexey Visualizza il messaggio
    ho un database con più campi.
    Nella mia finestra, cliccando un bottone si creano più JTextArea (così posso mettere i campi in colonna) con tutti i record all'interno.

    Dato che i record sono molti
    Scusa ma .... viste le premesse, non sarebbe meglio un JTable?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it L'avatar di SigAlexey
    Registrato dal
    May 2014
    residenza
    Treviso
    Messaggi
    186
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Scusa ma .... viste le premesse, non sarebbe meglio un JTable?
    ehmmm... si direi che sarebbe un'ottima idea.... Puoi spiegarmela???? xD ahahahahaha xD Scusa ma sono ancora un novellino xD

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da SigAlexey Visualizza il messaggio
    Puoi spiegarmela???? xD ahahahahaha xD Scusa ma sono ancora un novellino xD
    Beh .... non è che si può spiegare in poche parole. Innanzitutto ti suggerisco di leggere il tutorial ufficiale Oracle: How to Use Tables

    Poi se hai dubbi specifici, chiedi pure.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it L'avatar di SigAlexey
    Registrato dal
    May 2014
    residenza
    Treviso
    Messaggi
    186
    Ok adesso guardo!

    Quote Originariamente inviata da andbin Visualizza il messaggio
    Scusa ma .... viste le premesse, non sarebbe meglio un JTable?
    Ma la JTable la consigli per mostrare i dati o per mettere la scrollbar??
    Perchè io i dati riesco già a stamparli (anche se sincerametne ho fatto un po' di fatica ahaha).
    Comunque nel caso usassi quella, dovrei inserire in ogni cella una textarea oppure metto un campo per riga??

    quindi verrebbe
    1 Nome: Toni
    2 Cognome:Verdi
    3 Indirizzo: Via Verdi

    ecc.

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da SigAlexey Visualizza il messaggio
    Ma la JTable la consigli per mostrare i dati o per mettere la scrollbar??
    JTable è per mostrare una "griglia" di dati. I componenti Swing non gestiscono in proprio le scrollbar. È il componente specifico JScrollPane che gestisce autonomamente le scrollbar quando si mette il componente da "scrollare" come view in JScrollPane (ed è poi JScrollPane che va inserito in un layout ... non più il componente scrollato!).

    Quote Originariamente inviata da SigAlexey Visualizza il messaggio
    Comunque nel caso usassi quella, dovrei inserire in ogni cella una textarea oppure metto un campo per riga??
    Le celle in JTable non sono "veri" componenti. Sono solo una "proiezione" di un componente fornito da un apposito renderer.
    Dovresti innanzitutto comprendere i concetti relativi ai table model e magari anche ai table cell renderer/editor.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    Utente di HTML.it L'avatar di SigAlexey
    Registrato dal
    May 2014
    residenza
    Treviso
    Messaggi
    186
    Non è che avresti per caso il link di una guida per le JTable in italiano che non sia http://www.mokabyte.it/2002/04/jtable.htm dato che mezze robe sono errate?

  8. #8
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da SigAlexey Visualizza il messaggio
    Non è che avresti per caso il link di una guida per le JTable in italiano
    No, non ne conosco.

    Quote Originariamente inviata da SigAlexey Visualizza il messaggio
    che non sia http://www.mokabyte.it/2002/04/jtable.htm dato che mezze robe sono errate?
    Cosa ci sarebbe di così "sbagliato"? L'ho letto (velocemente, ammetto) ... mi pare comunque sensato e senza errori "grossolani".
    L'unica cosa che personalmente non mi piace è quel:

    scrollPane.getViewport().add(table);

    Io generalmente creo il JScrollPane, dopo e quindi faccio:

    new JScrollPane(table);

    Se proprio dovessi già avere una istanza di JScrollPane, farei:

    scrollPane.setViewportView(table);

    I concetti espressi in quell'articolo sono ok .... se li hai compresi sei già quasi "a cavallo".
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  9. #9
    Utente di HTML.it L'avatar di SigAlexey
    Registrato dal
    May 2014
    residenza
    Treviso
    Messaggi
    186
    Sto leggendo la guida di oracle.
    si stanno schiarendo le idee dopo mille letture, ma per ora non ho ancora capito il capitolo "Listening for data changes", o meglio ho capito l'utilizzo, ma non capisco come metterlo in pratica e firing data change events.

    Adesso continuo la lettura sperando di non trovare altri intoppi.

  10. #10
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da SigAlexey Visualizza il messaggio
    non ho ancora capito il capitolo "Listening for data changes", o meglio ho capito l'utilizzo, ma non capisco come metterlo in pratica e firing data change events.
    Il concetto è legato al Pattern MVC (su cui è modellato Swing). Quando nel "model" qualcosa cambia, la "view" deve essere notificata affinché possa aggiornarsi prontamente. Questo è proprio quello che succede tra JTable e TableModel.
    TableModel ha 2 metodi addTableModelListener/removeTableModelListener per gestire registrazioni di TableModelListener.
    Quando nel table model "qualcosa" cambia, esso va a notificare tutti i listener registrati.
    Il principale listener è ... JTable! (JTable implementa TableModelListener) Proprio perché deve notificare la view e aggiornarsi visivamente.
    Poi è chiaro che puoi anche registrare tuoi TableModelListener per "affari tuoi" ...

    Quando si implementa un table model "custom", tipicamente si estende AbstractTableModel, semplicemente perché la gestione dei listener è già fatta di serie e in più offre una serie di metodi fireXYZ già fatti per notificare uno dei vari eventi facilmente (senza dover creare "a mano" un TableModelEvent).
    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.