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

    JButton con immagine trasparente

    ciao a tutti volevo inserire un Jbutton che abbia come sfondo un immagine png, e fin li ci sono riuscito, il problema è che rimane lo sfondo azzurro chiaro predefinito del JButton e io non lo voglio... cercando tra google e il forum ho trovato setContentAreaFilled(false); ma nasconde l'interno pulsante....

    codice:
    ImageIcon pul1 = new ImageIcon("immagini/pulsante1.png");
            avviaclient=new JButton();
            avviaclient.addActionListener(this);
            avviaclient.setBounds(200, 200, 200, 70);
            avviaclient.setBorder(null);
            avviaclient.setContentAreaFilled(false);
            avviaclient.setIcon(pul1);
    per farvi capire meglio ecco uno screen SENZA usare setContentAreaFilled(false)


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

    Re: JButton con immagine trasparente

    Originariamente inviato da Attak
    il problema è che rimane lo sfondo azzurro chiaro predefinito del JButton e io non lo voglio...
    Se vuoi che il JButton visualizzi proprio solo il Icon e nient'altro (niente smussature, niente bordino del focus, niente margini), vedi anche i metodi:

    setBorderPainted, setFocusPainted, setMargin (da impostare con Insets tutti a 0).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    fa vedere ancora lo sfondo chiaro del pulsante cosa ho sbagliato?
    codice:
            ImageIcon pul1 = new ImageIcon("immagini/pulsante1.png");
            avviaclient=new JButton();
            avviaclient.addActionListener(this);
            avviaclient.setBounds(200, 200, 200, 70);
            avviaclient.setBorder(null);
            //avviaclient.setContentAreaFilled(false);
            avviaclient.setIcon(pul1);
            avviaclient.setBorderPainted(false);
            avviaclient.setFocusPainted(false);
            avviaclient.setMargin(null);

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Attak
    fa vedere ancora lo sfondo chiaro del pulsante cosa ho sbagliato?
    setBorder(null) non serve se invochi setBorderPainted(false).

    Io comunque prima ho detto setMargin per impostare un Insets con tutti 0 .... non passare un null a setMargin!

    Perché dal javadoc: Setting to null will cause the button to use the default margin
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Originariamente inviato da andbin
    Io comunque prima ho detto setMargin per impostare un Insets con tutti 0
    scusa l'ingnoranza ma cosa è un Insets? io ho provato a impostare
    codice:
    avviaclient.setMargin(0);
    ma da errore

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Attak
    scusa l'ingnoranza ma cosa è un Insets? io ho provato a impostare
    codice:
    avviaclient.setMargin(0);
    ma da errore
    Guardare il javadoc?

    public void setMargin(Insets m)
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    Originariamente inviato da Attak
    scusa l'ingnoranza ma cosa è un Insets? io ho provato a impostare
    codice:
    avviaclient.setMargin(0);
    ma da errore
    codice:
    avviaclient.setMargin(new Insets(0,0,0,0));
    l'Insets (Inserti) è una classe che si occupa della gestione dei margini (top, bottom, right, left)
    I miei esempi in Java qui: http://cdpjavaexamples.altervista.org/index.html

  8. #8
    non dai più errore ma il risultato è identico a quando ho aperto la discussione
    il sfondo predefinito del pulsante è sempre li
    codice:
            ImageIcon pul1 = new ImageIcon("immagini/pulsante1.png");
            avviaclient=new JButton();
            avviaclient.addActionListener(this);
            avviaclient.setBounds(200, 200, 200, 70);
            //avviaclient.setContentAreaFilled(false);
            avviaclient.setIcon(pul1);
            avviaclient.setBorderPainted(false);
            avviaclient.setFocusPainted(false);
            avviaclient.setMargin(new Insets(0,0,0,0));

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.