Icon a un Jbutton?

di il
10 risposte

Icon a un Jbutton?

Allora ho un problemino, non riesco a visualizzare un bottone con l'icona come vorrei..
ImageIcon iconb0 = new ImageIcon("C:\\Users\\Utente\\workspace\\Calcolatrice\\src\\images\\.b0.gif");
		File image = new File("C:\\Users\\Utente\\workspace\\Calcolatrice\\src\\images\\.b0.gif");
		if(image.exists()){
			System.out.println("Esiste");
		}else{
			System.out.println("Non esiste");
		}
		JButton b0 = new JButton();
		b0.setIcon(iconb0);
in poche parole il risultato che mi esce è questo:
Cattura.JPG
Cattura.JPG

poi come vedete ho provato ad aprire l'immagine come file ma mi dice che non lo trova... l'icon l'ho messa nella cartella images e la sua path è questa: C:\Users\Utente\workspace\Calcolatrice\src\images

10 Risposte

  • Re: Icon a un Jbutton?

    palestrato ha scritto:


    ImageIcon iconb0 = new ImageIcon("C:\\Users\\Utente\\workspace\\Calcolatrice\\src\\images\\.b0.gif");[/quote]
    [b][color=#FF0000].[/color][/b]b0.gif  ??
    
    Il punto davanti?
    
    
    P.S. comunque un path "assoluto" nei sorgenti non è praticamente quasi mai appropriato. ;)
  • Re: Icon a un Jbutton?

    Si ho modificato così:
    ho spostato la cartella images qui:
    C:\Users\Utente\workspace\Calcolatrice
    e così la legge..
    ho modificato la path così:
    Icon iconb0 = new ImageIcon(".\\images\\b0.png");
    il problema è che cmq mi si vede il bottone, il risultato è questo:
    Cattura.JPG
    Cattura.JPG

    come faccio a far scomparire il rettangolo?
  • Re: Icon a un Jbutton?

    palestrato ha scritto:


    come faccio a far scomparire il rettangolo?
    A seconda del Look&Feel (ma generalmente sempre), un JButton ha già un certo bordo, padding e sfondo.

    Vedi:
    get/setBorder
    get/setMargin
    is/setBorderPainted

    e altri sulla documentazione javadoc.
  • Re: Icon a un Jbutton?

    Allora facendo così:
    b0.setBorder(null);
    il risultato è questo:
    Cattura.JPG
    Cattura.JPG

    si avvicina a quello che voglio io però si vedono cmq i margini di un quadrato.. forse è dovuto dalla creazione del icon? ho creato l'icon tramite photoshop cc.. 32x32
    b0.png
    b0.png

  • Re: Icon a un Jbutton?

    palestrato ha scritto:


    allora facendo così:
    b0.setBorder(null);
    si avvicina a quello che voglio io però si vedono cmq i margini di un quadrato..
    Anche:

    setContentAreaFilled

    e

    setMargin

    palestrato ha scritto:


    forse è dovuto dalla creazione del icon? ho creato l'icon tramite photoshop cc.. 32x32
    No, se gli angoli li hai fatti "trasparenti", hai fatto bene ed è corretto (e mi pare sia così, ad occhio)
  • Re: Icon a un Jbutton?

    Allora la setMargin non fa nulla.. almeno ad aspetto visivo per il momento, poi comunque ho utilizzato questo:
    b0.setContentAreaFilled(false);
    e il risultato è stato quello che volevo cioè:
    Cattura.JPG
    Cattura.JPG

    solo una cosa, se ci clicco sopra non si "illumina" di blu come accadeva prima.. magari questa cosa va impostata anche x far capire all'utente che utilizza il programma che ha premuto il pulsante .. non so se mi hai capito ahah
  • Re: Icon a un Jbutton?

    palestrato ha scritto:


    allora la setMargin non fa nulla..
    Il margin, che io sappia, è collegato/correlato anche al border. Quindi ok.

    palestrato ha scritto:


    solo una cosa, se ci clicco sopra non si "illumina" di blu come accadeva prima.. magari questa cosa va impostata anche x far capire all'utente che utilizza il programma che ha premuto il pulsante
    Puoi impostare una icona per gli altri "stati":

    setPressedIcon
    setRolloverIcon (da abilitare con setRolloverEnabled)
    e altre ....

    (P.S. per cortesia, non farmi replicare tutto quello che c'è nel javadoc ..... prova a leggerlo )
  • Re: Icon a un Jbutton?

    C'è un metodo che magari se passo con il cursore su una icona o cmq su un bottone mi si illumina il bottone? poi dopo quando levo il cursore smette di illuminare?
    comunque scusa la mia ignoranza ma dove lo trovo questo javadoc? ahah
  • Re: Icon a un Jbutton?

    palestrato ha scritto:


    c'è un metodo che magari se passo con il cursore su una icona o cmq su un bottone mi si illumina il bottone? poi dopo quando levo il cursore smette di illuminare?
    setPressedIcon, setRolloverIcon, setDisabledIcon ecc.... per tutti i vari "stati" del pulsante.

    palestrato ha scritto:


    comunque scusa la mia ignoranza ma dove lo trovo questo javadoc? ahah
    Online è qui: https://docs.oracle.com/javase/8/docs/api
    La puoi scaricare per averla offline da qui: http://www.oracle.com/technetwork/java/javase/documentation/jdk8-doc-downloads-2133158.html

    La devi sempre tenere a portata di .... mouse.
  • Re: Icon a un Jbutton?

    Infatti ho modificato così:
    JButton b1 = new JButton();
    		b1.setIcon(new ImageIcon(".\\images\\b1.png"));
    		b1.setBorder(null);
    		b1.setContentAreaFilled(false);
    		b1.setPressedIcon(new ImageIcon(".\\images\\b1rosso.png"));
    		b1.setBounds(20,25, 40, 40);
    		p2.add(b1);
    adesso il risultato è proprio bello
Devi accedere o registrarti per scrivere nel forum
10 risposte