Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    [JTable] Come gestire il colore di sfondo del header

    Ciao a tutti,

    sto usando una JTable all'interno della mia applicazione e devo usare un colore di sfondo delle celle diverso da quello di default.

    Fin qui nessun problema, tutto va alla grande.

    Il problema risiede nel colore di sfondo delle intestazioni delle colonne, dell'header della tabella.

    Come faccio a cambiarlo con uno a mio piacimento?
    Ero riuscito a fare qualcosa, ma mi rimaneva il bordo del rettangolo dell'header di ogni colonna sempre grigio!

    Qualcuno ha qualche dritta da darmi?

    Ciao e grazie

  2. #2
    Utente di HTML.it L'avatar di salcam
    Registrato dal
    Dec 2005
    Messaggi
    193
    Ciao hai provato così?

    codice:
    table.getTableHeader().setBackground(Color.GREEN);

  3. #3
    sì, essattamente inquel modo avevo cambiato il colore dell'header. Il problema era che rimaneva appunto in grigio il bordino che serve a dare l'effetto 3d all'header...

    Se provate il codice capite cosa sto scrivendo!

    Come si fa a non visualizzare in grigio il bordino?

  4. #4
    Utente di HTML.it L'avatar di salcam
    Registrato dal
    Dec 2005
    Messaggi
    193
    Prova così allora
    codice:
    table.getTableHeader().setBackground(Color.green);
    table.getTableHeader().setBorder(BorderFactory.createLineBorder(Color.green));

  5. #5
    Ci siamo quasi!!

    Crea un bordo per l'intero header, ma non per le singole colonne dell'header.

    Il bordo delle singole colonne resta sempre grigio.

    Per ci stiamo avvicinando!!

  6. #6
    no dai, non ci posso credere che non ci sia soluzione!!!

    Non mi voglio arrendere!!

    Aspetto la dritta di qualcuno!

    CIAO!!!

  7. #7
    Non ci credo che non si possa fare.

    Sarebbe la prima volta che trovo il java in fallo!!

    Dai, qualcuno sa qualcosa?

  8. #8

  9. #9
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Credo che l'unica soluzione praticabile sia quella di andare a ridefinire i colori all'interno dei file properties oppure ridefinire il metodo paintComponent().


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  10. #10
    buahhahahaha

    perchè?!?! perchèèèè?!?!?

    in realtà avevo già risolto andando a modificare
    UIManager.put("TableHeader.cellBorder",BorderFacto ry.createLineBorder(colore));


    Speravo però che ci fosse una soluzione più elegante.

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.