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

    TitledBorder su JTextField

    Salve raga,

    ho questo problema... Quando inserisco un TitledBorder intorno ad un JTextField (AboveTop nel caso specifico, ma vale per qualsiasi posizione) , lo sfondo diventa completamente bianco, non solo l'area di testo...

    E' possibile fare in modo che lo sfondo del TitledBorder resti del classico colore grigio e l'area di testo del classico colore bianco ?
    Thanks

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254
    Quote Originariamente inviata da Fire Fox II Visualizza il messaggio
    ho questo problema... Quando inserisco un TitledBorder intorno ad un JTextField (AboveTop nel caso specifico, ma vale per qualsiasi posizione) , lo sfondo diventa completamente bianco, non solo l'area di testo...
    Sì, è vero, l'ho provato adesso (con Look&Feel "Metal", quello standard, predefinito). Dovrei andare a vedere il codice del framework ma ... a naso mi viene da pensare che la UI del text field in generale non consideri gli "insets" imposti dal border e vada a fillare (riempire) tutta l'area del componente con il background color.

    EDIT: infatti, il text field è "opaco" e in Swing, in generale, in un componente opaco tutta la superficie del componente (compresi i bordi) viene riempito con il background color.

    Comunque in questi casi si può sempre risolvere. Se vuoi togliere il bordi al textfield, puoi comunque farlo, gli setti un EmptyBorder con lati 0px. Poi il titled border invece di settarlo al text field, lo setti ad un pannellino (JPanel, preferibilmente con un BorderLayout) che contiene il text field. Ed è poi il pannellino che inserisci dove prima inserivi il text field. E ti assicuro che funziona.
    Ultima modifica di andbin; 14-07-2015 a 09:37
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  3. #3
    In realtà credevo ci fosse una soluzione "classica" al problema, ma tant'è...
    Ho sempre usato l'accoppiata jlabel + jtextfield e l'intenzione era semplicemente ottimizzare il codice cercando di ridurre i componenti in uso...
    Nel mio caso credo convenga impostare un fondo bianco e disattivare l'opaco a tutti i campi di testo...

    Comunque thanks, sempre prezioso quando posto in questa sezione del forum

Tag per questa discussione

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 © 2024 vBulletin Solutions, Inc. All rights reserved.