Criar button com icon para depois fazer um componente dele

2 respostas
rafaelviny

Galera, é o seguinte:

gostaria de criar um Jbutton que recebe como parametro um titulo e uma url de um icone qualquer.

o tituto e a url sao passadas corretamente porem o icono nao aparece na tela.

estanciando:

MeuButton jbVariedade = new MeuButton("button personalizado","/img/buttom.png");
classe meuButton
package Grafica;


import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JOptionPane;

public class MeuButton extends JButton implements MouseListener {
    private boolean controle = false;
    private String titulo;
    private String urlimagem;

    

    public MeuButton(String titulo, String urlimagem){
       super();
       this.titulo = titulo;
        Icon iconeVariedade = new ImageIcon(getClass().getResource(urlimagem));

       this.addMouseListener(this);


    }

    @Override
    public void paint(Graphics g) {
        super.paint(g);
        if (controle) {
           g.setColor(new Color(0,0,0));
           g.drawString(titulo, 21, 21);
           g.setColor(new Color(255,255,0));
        }
        else {
           g.setColor(new Color(212,208,200));
        }
        g.drawString(titulo, 20, 20);
    }

    public void mouseClicked(MouseEvent e) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    public void mousePressed(MouseEvent e) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    public void mouseReleased(MouseEvent e) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    public void mouseEntered(MouseEvent e) {
        controle = true;
        this.paint(this.getGraphics());
    }

    public void mouseExited(MouseEvent e) {
        controle = false;
        this.paint(this.getGraphics());
    }
}

desde já obrigado a todos

2 Respostas

D

cara nao tah faltando ali depois de vc criar o icone (Icon iconeVariedade = new ImageIcon(getClass().getResource(urlimagem)); ) setar ele no botao, algo como o setIcon (nao lembro se eh esse o metodo do JButton) passando o teu icon…

dei uma olhada por cima ai no teu codigo e acho q falta tu passa ele pro button, ali tu soh tah criando o icon e nao tah fazendo nada com ele

[]´s

::editado::

coloca ali depois q tu crio o icone o seguinte trecho::

setIcon(iconeVariedade);

faz isso e ve se aparece

rafaelviny

[b]era isso mesmo!!

valeu cara!!

muito obrigado mesmo!!

abs[/b]

Criado 11 de junho de 2009
Ultima resposta 11 de jun. de 2009
Respostas 2
Participantes 2