Distancia do JLabel dentro do JButton. [Resolvido]

Oi,
Bom dia…
Estou brincando com Layout null, e estou criando botõezinhos…
dentro dele coloco um JLabel, abro a tela e o JLabel fica center no botãozinho…

curiosidade: como faço pro Label dentro do botão ficar coladinho a esquerda ou a direita,
tirar ele do centro?

Eu já criei um JButton(“teste”) e também já fiz um JLabel separado, usei setbounds… e já
tentei passar html dentro do JButton… só estou curiosa haha

Tchauzin!

Deixa eu entender…

Você esta criando um botão em “branco” e colocando um JLabel por cima. Eh isso? :wink:

Dê uma olhada nas propriedades setHorizontalAlignment e setVerticalAlignment.

http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/AbstractButton.html#setHorizontalAlignment(int)

Ratao,
isso mesmo… ou entao ja criando um botão com JLabel…
quero colocar o label encostado a direita do botão e nao no meiu…

Vini,
já tentei usar o setHori, e setVerti, nao rolou… continua no mesmo lugar o Label… eu sei que isso funciona pra Checkbox, TextField… mais para botão?

tem algum exemplo ai ?

Aqui funcionou:

import java.awt.BorderLayout;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.SwingConstants;

public class ButtonFrame extends JFrame {
    private static final long serialVersionUID = 1L;
    private JPanel jContentPane = null;
    private JButton btnTeste = null;
    private JButton btnTeste2 = null;

    public ButtonFrame() {
        super();
        initialize();
    }

    private void initialize() {
        this.setSize(300, 200);
        this.setContentPane(getJContentPane());
        this.setTitle("JFrame");
    }

    private JPanel getJContentPane() {
        if (jContentPane == null) {
            jContentPane = new JPanel();
            jContentPane.setLayout(new BorderLayout());
            jContentPane.add(getBtnTeste(), BorderLayout.NORTH);
            jContentPane.add(getBtnTeste2(), BorderLayout.SOUTH);
        }
        return jContentPane;
    }

    private JButton getBtnTeste() {
        if (btnTeste == null) {
            btnTeste = new JButton();
            btnTeste.setText("Teste");
            btnTeste.setHorizontalAlignment(SwingConstants.LEFT);
        }
        return btnTeste;
    }

    private JButton getBtnTeste2() {
        if (btnTeste2 == null) {
            btnTeste2 = new JButton();
            btnTeste2.setHorizontalAlignment(SwingConstants.RIGHT);
            btnTeste2.setText("Teste2");
        }
        return btnTeste2;
    }
}

Então,
ainda nao é isso que eu quero.

eu quero que ele fique encostado na borda do botão… o setHori, dexa ele alinhado tanto para Left e pra Right e center… porem, eu quero deixar o Label encostado mesmo no começo do botão, sem o espacinho…

Lina,

Assim acho que vc poderia pegar os Bounds ou Retangle do seu botão. Ver onde ele exatamente começa e alinhar o Label exatamente onde quer. O problema disso eh que toda vez que mudar de lugar, vai ter que alterar na mao os Bounds ou Retangle.

Ahhh, entendi.

tente adicionar:
btnTeste.setMargin(new Insets(0, 0, 0, 0));

Resolvido…

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

Obrigado a todos!

Ratao sua ideia é boa, vou fazer assim também! meus botões vão ficar fixos. =)

Tchauzin!