Newsgroup: it.comp.java
Titolo: Bottoni AWT

Posso inserire immagini come sfondo del bottone?
Posso stabilire le dimensioni del bordo?
Grazie 1000
oxy

 wrote in message
news:9kohqq$kd1$1...@nreadA.inwind.it...


 gia' fatta su internet.
intendi questo:
public class Inner extends java.applet.Applet {
    BlueButton b2 = new BlueButton("Two");
    public void init() {
        add(b2);
    }
    class BlueButton extends Button {
        BlueButton(String label) {
            super(label);
            this.setBackground(Color.blue);
        }
    }
}
se è giusto?.. come modifico/elimino i bordi o inserisco una immagine?
Grazie.

 ha scritto nel messaggio
news:9koiau$v4o$1...@nreadB.inwind.it...


In 9kohqq$kd1$
1...@nreadA.inwind.it
, Oxy, 
xtr...@inwind.it
, il 7-08-2001 9:46
ha scritto:

Guarda avevo il tuo stesso problema, anzi, a dire il vero era un po' più
complesso perchè volevo un botton che ogni volta che veniva premuto
attivasse un metodo e se andava tutto a buon fine accendesse un led,
contenuto al suo interno.
Dopo un po' di tentativi la mia soluzione è stata questa:
1) Ho esteso la classe Canvas;
2) Ho implementato ActionListener;
3) Ho creato un private Button b;
4) Ho sovrascritto il metodo paint() per poter disegnare il bottone come più
mi aggrada ;-) ;
5) Ho predisposto un metodo addActionListener() che si limita ad agganciare
al Botton b l'ActionListener passato nel costruttore del mio bottone;
6) Ho inserito nel metodo, nel tuo caso, public void MouseClicked()
l'istruzione: b.dispatchEvent(new ActionEvent(b,
ActionEvent.ACTION_PERFORMED, testoDelBottone));
7) Ho implementato una serie di metodi tipici dei button tipo setText()
getText() etc
Beh facendo così dovresti riuscire a risolvere il tuo problema,
un saluto,
Edoardo 

 Dopo un po' di tentativi la mia soluzione è stata questa:
troppo complicato per me:-(
Cmq grazie

 
import java.awt.*;
import java.awt.event.*;
class ConnettitiButton extends Canvas implements MouseListener {
    Dimension tDim;
    private String testo;
    private Button b;
 
    ConnettitiButton(String testo, boolean acceso) {
        this.testo = testo;
        tDim = new Dimension(width, height);
        b = new Button(testo);
        addMouseListener(this);
    }
    public synchronized String getLabel() {
        return testo;
    }
    public void addActionListener(ActionListener al) {
        b.addActionListener(al);
    }
    public synchronized void setText(String testo) {
        this.testo = testo;
        repaint();
    }
 
    public void paint(Graphics g) {
        //implementalo come vuoi per disegnarlo
    }
    public Dimension getPreferredSize() {
        return tDim;
    }
    public Dimension getMinimumSize() {
        return tDim;
    }
    public void invertiColori() {
        //implementalo come vuoi per dare l'effetto grafico "premuto";
        repaint();
    }
    public void ripristinaColori() {
        //implementalo come vuoi per dare l'effetto grafico "rilasciato";
        repaint();
    }
    //        ***implementa l'interfaccia MouseListener
    public void mouseClicked(MouseEvent e) {}
    public void mouseEntered(MouseEvent e) {}
    public void mouseExited(MouseEvent e) {}
    public void mousePressed(MouseEvent e) {
        this.invertiColori();
    }
    public void mouseReleased(MouseEvent e) {
        b.dispatchEvent(new ActionEvent(b, ActionEvent.ACTION_PERFORMED,
testo));
        this.ripristinaColori();
    }
 
}
Hai ragione, forse cosě č piů diretto,
ciao,
Edoardo
 

sicuramente le conoscenze Java sono molto limitate...
ma non capisco come si inserisca una immagine o si dimensioni il bordo (il
mio scopo)
usando il tuo esempio:(
Cmq. ora me lo studio:)
Grazie
oxy

Miracolo!!!.. Ci sono riuscito:-))