Ciao, mi potete dire come faccio a personalizzare l'aspetto grafico della mia JList e della rispettiva barra di scroll?
Oppure mi potete indicare una guida per vedere come si fa a personalizzare gli elementi swing?
Ciao, mi potete dire come faccio a personalizzare l'aspetto grafico della mia JList e della rispettiva barra di scroll?
Oppure mi potete indicare una guida per vedere come si fa a personalizzare gli elementi swing?
Sono due cose distinte, comunque. Un JList contenuto in un JScrollPane.Originariamente inviato da Salinas
Ciao, mi potete dire come faccio a personalizzare l'aspetto grafico della mia JList e della rispettiva barra di scroll?
Precisa "personalizzare" dove/come e a che livello. Inoltre solo per una istanza specifica di un JList/JScrollPane .... o qualunque JList/JScrollPane nella interfaccia utente?Originariamente inviato da Salinas
Oppure mi potete indicare una guida per vedere come si fa a personalizzare gli elementi swing?
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
Voglio riscrivere il modo in cui viene disegnata la mia ScrollBar e la mia List.Precisa "personalizzare" dove/come e a che livello. Inoltre solo per una istanza specifica di un JList/JScrollPane .... o qualunque JList/JScrollPane nella interfaccia utente?
Come si può fare anche per i JPannel o JButton.
In particolare mi interessa sapere i metodi per modificare lo sfondo, il bordo, la dimensione, le freccette della scrollBar e la stessa barra in essa contenuta che posso muovere con il mouse per spostarmi dall'alto verso il basso della lista.
Insomma voglio sapere come faccio ad accedere ad ogni componente grafico in modo da poterlo modificare.
neanche voi trovate niente sulla rete per modificare una ScrollBar???
I componenti Swing si possono personalizzare a fondo impostando quelle che si chiamano UI properties. Si possono impostare tipicamente in modo "globale" per la applicazione usando il put() di UIManager.Originariamente inviato da Salinas
In particolare mi interessa sapere i metodi per modificare lo sfondo, il bordo, la dimensione, le freccette della scrollBar e la stessa barra in essa contenuta che posso muovere con il mouse per spostarmi dall'alto verso il basso della lista.
Altre UI properties per JScrollBar le puoi vedere qui.codice:import java.awt.*; import javax.swing.*; public class TestFrame extends JFrame { public TestFrame() { super("Test"); setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); setSize(400, 300); UIManager.put("ScrollBar.background", new Color(255, 255, 0)); UIManager.put("ScrollBar.darkShadow", new Color(128, 128, 0)); UIManager.put("ScrollBar.shadow", new Color(192, 192, 0)); UIManager.put("ScrollBar.width", new Integer(26)); JPanel bigPanel = new JPanel(); bigPanel.setPreferredSize(new Dimension(1000, 1000)); JScrollPane scrollPane = new JScrollPane(bigPanel); getContentPane().add(scrollPane); } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { new TestFrame().setVisible(true); } }); } }
E ne esistono tante altre per gli altri componenti Swing.
Ma ti avverto. Ti stai addentrando in un campo molto minato. Il supporto a certe UI properties dipende dai Look&Feel. Ad esempio solo il L&F Metal supporta ScrollBar.shadow mentre ScrollBar.thumbHeight è supportato dai L&F GTK e il Synth.
E di informazioni su queste UI properties non ne trovi purtroppo molte in rete.
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
Grazie! Sai proprio tutto!![]()
Sai se con lo stesso metodo posso creare anche colorare le righe di ogni voce della lista?
Es: la prima riga bianca, la seconda rossa, la terza bianca,.....
No, qui non centrano le UI properties. Devi implementare un apposito ListCellRenderer. Poi bisogna vedere se il colore dipende dal dato contenuto nella cella o se dipende solo dall'indice della cella (che è quello che suppongo da quanto hai appena detto, bianca, rossa, bianca, rossa ecc....).Originariamente inviato da Salinas
Sai se con lo stesso metodo posso creare anche colorare le righe di ogni voce della lista?
Es: la prima riga bianca, la seconda rossa, la terza bianca,.....
Posso poi anche fare un esempio, eventualmente.
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
Si, credo che un esempio sarebbe ottimo
Ma al posto del pannello, se ci metto una JList è lo stesso?
Me lo puoi fare con la JList l'esempio?
Comunque ho provato il tuo esempio e non si vede nessun cambiamento nell'aspetto della scroll bar.![]()
L&F usato? Comunque ora provo a scrivere un esempio di JList con celle a sfondo alternato.Originariamente inviato da Salinas
Comunque ho provato il tuo esempio e non si vede nessun cambiamento nell'aspetto della scroll bar.![]()
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet