Jbutton - imagem e texto

6 respostas
soulhave

Olá galera, gostaria de saber como faço para colocar em JButton a imagem que colocar nele em cima do texto…
exemplo…


:smiley:
TEXTO


não estou conseguindo…

6 Respostas

E

Coloca a imagem e apaga o texto, ae vai ficar soh a imagem

soulhave

Mazs eu quero colocar o texto também.

FredMP

Eu editaria a imagem colocando o texto nela própria (na posição desejada) e colocaria apenas a imagem no botão. Ou tentaria o caminho mais difícil: estenderia JButton e tentaria criar um botão nesse estilo que vc falou.

H
Para adicionar a imagem utilize o código abaixo:
botao.setIcon("caminho imagem");
Para acrescentar o texto , utilize o código abaixo:
botao.setText("seu texto aqui");

[quote]
Desta maneira aparecerá a imagem mais o texto juntos.
[code]

Petronio_Braga

soulhave,

o que você quer é bem fácil. Todos os componentes que tem o método .setText() aceitam códigos html.

Por exemplo, para o que você quer faz isso:

JButton button = new JButton();
button.setText("<html><hr /><br /><img src=" + "file:exit.png" + "/><br />Texto<br /><hr /></html>");
BrunoLaser

Olá...

Fiz no Netbeans espero que ajude...

private void initComponents() {
        jButton1 = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        jButton1.setIcon(new javax.swing.ImageIcon("/home/icones/teste.jpg"));
        jButton1.setText("TEXTO");
        jButton1.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        jButton1.setVerticalAlignment(javax.swing.SwingConstants.TOP);
        jButton1.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(58, 58, 58)
                .addComponent(jButton1)
                .addContainerGap(238, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(30, 30, 30)
                .addComponent(jButton1)
                .addContainerGap(171, Short.MAX_VALUE))
        );
        pack();
    }
Criado 20 de junho de 2007
Ultima resposta 21 de jun. de 2007
Respostas 6
Participantes 6