Newsgroup: it.comp.java
Titolo: JBUTTON trasparente

Ciao a tutti, ho bisogno di aiuto. Sto costruendo un'interfaccia grafica in 
java. Ho bisogno di inserire un JButton nascosto sotto un'immagine (è un 
testo) in modo che quando clicco sull'immagine è come se cliccassi sul 
JButton. E' possibile? 

skyline ha scritto:

io non so su che cosa mostri l'immagine, su quale component,
ma piuttosto ti conviene registrare su tale un MouseListener
e catturare un evento mouseClicked(MouseEvent e)...
-- 
         orsacchiotto.stupidotto
------------------------------------------
del resto il mio nick giustifica ogni cosa
        io abbia scritto o detto

 ma piuttosto ti conviene registrare su tale un MouseListener
l'immagine è su un panello. Il bottone è posizionato sull'immagine. Dovrei 
renderlo solo trasparente o nascosto. 


ha scritto nel messaggio
news:43d25cf6$0$25724$4faf...@reader2.news.tin.it...
| skyline ha scritto:
| > Ciao a tutti, ho bisogno di aiuto. Sto costruendo
un'interfaccia grafica in
| > java. Ho bisogno di inserire un JButton nascosto sotto
un'immagine (è un
| > testo) in modo che quando clicco sull'immagine è come se
cliccassi sul
| > JButton. E' possibile?
| >
| >
Mi pare di, si c'è un costruttore apposito :)

 ha scritto nel messaggio 
news:43d2783a$0$29353$4faf...@reader1.news.tin.it...

un costruttore? puoi essere + preciso per favore? grazie 1000 

 ha scritto nel messaggio
news:YEIAf.57176$eD5.9...@twister2.libero.it...
|
|
| un costruttore? puoi essere + preciso per favore? grazie
1000
Si, un un metodo costruttore:
JButton(Icon icona)
Ho provato a scrivere questo codice:
JButton bottone = new JButton(new
ImageIcon("d:\\arrow_up.gif"));
e funziona, ovviamente il file arrow_up.gif  č la mia
immagine gif  di prova memorizzata nella root del mio drive
D.
L'immagine si visualizza sul bottone, ho provato con
immagini piů grandi e di tipo diverso, come jpg ecc,  e
l'effetto č quello di ingrandire il pulsante in maniera da
contenerla, quindi con un po' di pazienza....

 ha scritto nel messaggio 
news:43d397c4$0$29077$4faf...@reader1.news.tin.it...

grazie della risposta. Il mio problema č che ho un'immagine gia fatta... e 
solo una piccola porzione di quest'ultima che deve essere cliccabile.. .ecco 
xkč mi serviva un pulsante nascosto. 


| > ha scritto nel messaggio
| > news:43d25cf6$0$25724$4faf...@reader2.news.tin.it...
| > | skyline ha scritto:
| > | > Ciao a tutti, ho bisogno di aiuto. Sto costruendo
Scusa non avevo capito cosa intendessi.
TRASPARENTE?
azz č un problema!!!
quella di orsacchiotto mi sembra un ottima soluzione, perchč
addannarsi ad ottenere un effetto grafico, se poi deve anche
rimanere trasparente?

skyline ha scritto:

allora guarda io ho fatto cosi', funziona, ma ti sembrerà un po complicato.
Ho definito prima una classe che estende JPanel, sara' la zona in cui 
viene disegnata l'immagine. Ho ridefinito il metodo paint(...) come segue:
public class PicturePanel extends JPanel
{
   public void paint(Graphics g)
   {
     super.paint(g);
     Image image = new ImageIcon("c://what.gif").getImage();
     g.drawImage(image, 0, 0, this);
   }
}
supponendo che "c://what.gif" sia il percorso della mia immagine;
poi istanzion un oggetto PicturePanel, setto il suo layout a *null*
JPanel p_jp = new PicturePanel();
p_jp.setLayout(null);
su tale "panel" viene disegnata l'immagine che volevo. Poi aggiungo in 
posizione dell'area che sara' il nostro Jbutton invisibile una Jlabel
JLabel p_jla = new JLabel();
p_jp.add(p_jla);
p_jla.setOpaque(false);
p_jla.setBounds(50,50,100,100); //suppongo che questa sia l'area
                                 //corrispondente al finto bottone
p_jla.addMouseListener(new MouseListener()
   {
     public void mouseClicked(MouseEvent arg0)
     {
       System.out.println("Click");
     }
     public void mousePressed(MouseEvent arg0) {}
     public void mouseReleased(MouseEvent arg0){}
     public void mouseEntered(MouseEvent arg0) {}
     public void mouseExited(MouseEvent arg0) {}
    });
}
ora se clicchi nell'area della Jlabel l'applicazione esegue il codice
in corrispondenza del mouseClicked(...)
l'unica palla e' che devi sapere esattamente dove posizionare la jlabel
e potresti avere dei problemi in resize.
Cmq il codice nn e' dei migliori e dovrai metterlo a posto, ma funziona.


 ha scritto nel 
messaggio news:43d3bc6b$0$29073$4faf...@reader1.news.tin.it...

GRAZIE 1000