Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 39
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    396

    personalizzare JList con scrollBar

    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?

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: personalizzare JList con scrollBar

    Originariamente inviato da Salinas
    Ciao, mi potete dire come faccio a personalizzare l'aspetto grafico della mia JList e della rispettiva barra di scroll?
    Sono due cose distinte, comunque. Un JList contenuto in un JScrollPane.

    Originariamente inviato da Salinas
    Oppure mi potete indicare una guida per vedere come si fa a personalizzare gli elementi swing?
    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?
    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
    Registrato dal
    Jun 2008
    Messaggi
    396
    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?
    Voglio riscrivere il modo in cui viene disegnata la mia ScrollBar e la mia List.
    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.

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    396
    neanche voi trovate niente sulla rete per modificare una ScrollBar???

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    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.
    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.

    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);
                }
            });
        }
    }
    Altre UI properties per JScrollBar le puoi vedere qui.
    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.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    396
    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,.....

  7. #7
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    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,.....
    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....).

    Posso poi anche fare un esempio, eventualmente.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    396
    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?

  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    396
    Comunque ho provato il tuo esempio e non si vede nessun cambiamento nell'aspetto della scroll bar.

  10. #10
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Salinas
    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.
    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.