[quote=marcelo_uerj@hotmail.com]O problema que tirando as bordas, o botão perde o relevo ao passar e clicar com o mouse. Como resolver isto?
[/quote]
E qual o problema? Isso é normal e indica que o botão tem o foco.
sobre o botão é que quando retiro as bordas e acrescento a imagem, ele perde a característica de um botão. Parece uma imagem solta e ao passar o mouse ele não muda.
No caso desse JSpinner, teria algum exemplo de código?
sobre o botão é que quando retiro as bordas e acrescento a imagem, ele perde a característica de um botão. Parece uma imagem solta e ao passar o mouse ele não muda.
No caso desse JSpinner, teria algum exemplo de código?
Obrigado,
Marcelo.[/quote]
Oi,
Como você retirou as bordas, sua imagem deverá ser parecida com um botão.
Você está utilizando apenas 1 imagem. Logo, ao passar o mouse ele não irá mudar. Já pensou em tratar um listenner de foco e alterar a imagem atual para uma diferente?
Sobre a criação de um botão deslizante, consegui ver um exemplo utilizando o JSpinner. Este me faz um botão na horizontal. Alguem sabe como transformar esse num botão na vertical, como aqueles de ventilador de teto?
slider1 = new JSlider( SwingConstants.VERTICAL, 0, 100, 0 );
Valeu pela dica!
Agora tenho um outro problema. Ao criar esse slider e posicionar utilizando o setBounds, acabo criando um retangulo cinza junto com ele. Como poderia fazer para deixa-lo transparente (aparecendo só o botão deslizante)?
Estou com problemas para personalizar o botão. Tirei as bordas e coloquei uma imagem, mas daí ao ser clicado o botão não muda. Tentei colocar uma imagem de botão pressionado ao clicar, mas então essa imagem fica permanente. Como posso configurar o botão para exibir as 2 imagens (normal e pressionado) para ter um efeito de botão?
public void actionPerformed(ActionEvent e){
Botao.setIcon(Button2);
}
ao inves de ActionListener, use também ou somente, MouseListener
e ao inves de actionPerformed ou também ou somente, os métodos da classe mouseListener, precisa vários
é uma interface que precisa vários metodos na classe, mesmo que vazios.
são MouseClicked() { }
mouseEntered() {}
mouseExited() { }
mousePressed() {}
mouseReleased () {}
com isto dá de fazer muitas coisas.
estou tentando fazer um xadrez, por isto estou estudando isto.
mas para estudar fiz um jogo de memória, olhe no meu site… ao passar nos botoes eles mudam de cor, no caso o Entered
e ao sair, também no caso Exited, mas daí só mantem as cores…
então pode mudar o botão como quiser, ou só mudar o Background, com o setBackGround(Color.yellow) por exemplo.
Ainda não resolvi meu problema com os botões. Configurei o botão no meu programa da seguinte forma:
public void BotaoAumentar() {
Aumentar.setVisible(true); //Diz que será visivel
Aumentar.setSize(30,30); //Define o tamanho do botão
Aumentar.setLocation(300,400); //Define sua posição
Aumentar.setBorder(null); //Retira as bordas do botão
Aumentar.setIcon(ImageButton); //Configura a imagem do botão
add(Aumentar); //Adiciona o botão
}
Agora precisaria usar os eventos de mouse para dar a ação e mudar o icone ao ser clicado, para dar a ideia de que foi pressionado, sendo que ao largar, o icone volta ao normal.