Evento de button retornando coordenada

2 respostas
N

Eu gostaria de perguntar aos mais experientes em JAVA
qual a forma mais elegante de fazer um evento de botão retornar uma coordenada??
imagine um jogo de batalha naval, que cada posição(x,y) é um botao, e que ao o usuário clicar, ele retorna esta posição pra “Máquina do jogo” processar a jogada…

Abraço

2 Respostas

M
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;

public class BatalhaNaval extends JFrame implements ActionListener {

	private static final long serialVersionUID = 1L;
	private JButton b;

	public BatalhaNaval() {

		super("Batalha naval");
		
		getContentPane().setLayout(new FlowLayout());
		
		b = new JButton("Sei lá...");
		b.addActionListener(this);
		getContentPane().add(b);
		
		pack();
		
		setVisible(true);
	
	}
	
	@Override
	public void actionPerformed(ActionEvent e) {
		JButton botaoPressionado = (JButton)e.getSource();
		System.out.println("Local: " + botaoPressionado.getLocation());
		System.out.println("Tamanho: " + botaoPressionado.getSize());
	}

	public static void main(String[] args) {
		new BatalhaNaval();
	}
	
}

Aí você vai ter um local (vai retornar um Point, que tem os métodos getX() e getY()) e o tamanho (vai retornar um Dimension que tem os métodos getHeight() e getWidth()). Aí é só fazer suas verificações, etc., blá blá blá…

N

vlwww!
flw

Criado 6 de dezembro de 2008
Ultima resposta 6 de dez. de 2008
Respostas 2
Participantes 2