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

    [Java] immagini e bottoni

    ciao raga

    ho inserito in un bottone un immagine in questo modo:
    <CODE>
    JButton chiudi = new JButton ();
    ImageIcon ico =new ImageIcon("chiudi.gif");

    chiudi.setIcon(ico);
    chiudi.setActionCommand("Chiudi");

    </CODE>

    solo che il bordo del bottone non si adatta all'immagine. come posso fare per far adattare il bottone all'immagine?

    premetto che l'immaggine e quadrata.

    ciao

  2. #2
    in questo caso devi utilizzare i seguenti metodi:
    codice:
    JButton b = new JButton();
    
    b.setIcon(icona);
    b.setPressedIcon(icona);
    b.setBorderPainted(false);
    b.setContentAreaFilled(false);
    b.setOpaque(true);
    Prova così.
    Bye!
    Ivan Hares

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

    Re: [Java] immagini e bottoni

    Originariamente inviato da fcorsa
    solo che il bordo del bottone non si adatta all'immagine. come posso fare per far adattare il bottone all'immagine?
    La dimensione del pulsante, e in generale dei componenti, dipende dal layout manager che hai usato. Quindi dovresti prima spiegare dove hai messo il pulsante e quale layout manager stai usando.

    Quindi innanzitutto devi usare un layout manager che rispetta il "preferred size" del componente. Ma non basta, devi anche azzerare i margini del pulsante con:

    button.setMargin (new Insets (0, 0, 0, 0));

    Solo a quel punto il pulsante ha una dimensione adatta e giusta per l'immagine.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #4
    Grazie funziona alla perfezione!!!
    Grazie.

  5. #5
    Scusa
    sai come si fa a far apparire la manina quando passo sul bottone?

    ciao

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da fcorsa
    sai come si fa a far apparire la manina quando passo sul bottone?
    button.setCursor (Cursor.getPredefinedCursor (Cursor.HAND_CURSOR));
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    Premettendo che non ho mai usato il Layout Manager, credo che stia usando quello di default.

    ho usato il codice di IvanHares:
    <code>
    JButton b = new JButton();

    b.setIcon(icona);
    b.setPressedIcon(icona);
    b.setBorderPainted(false);
    b.setContentAreaFilled(false);
    b.setOpaque(true);
    </code>

    la cosa sembra fatta, ma mi sono accorto che anche se all'apparenza l'immagine diventa bottone , il bottone e solo invisibile quindi l'area cliccabile e più grande dell'immagine.

    quindi ho aggiunto il suggerimento di andbin portando i margini del bottone a 0.

    ora si che il bottone ha effettivamente le dimensioni dell'immagine.

    Spero di essermi espresso bene.

    ecco il codice completo per chi avrà la mia stessa esigenza:

    <code>
    JButton b = new JButton();
    ImageIcon icona = new ImageIcon("icona.gif");
    ImageIcon icona2 = new ImageIcon("icona2.gif");
    ImageIcon icona3 = new ImageIcon("icona3.gif");
    b.setIcon(icona);
    b.setPressedIcon(icona2);
    b.setRolloverIcon(icona3);
    b.setBorderPainted(false);
    b.setMargin (new Insets (0, 0, 0, 0));
    b.setContentAreaFilled(false);
    b.setOpaque(true);
    b.setCursor (Cursor.getPredefinedCursor (Cursor.HAND_CURSOR));
    </code>


    grazie andbin,IvanHares

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.