Adicionar método criado a um botão

2 respostas
lordtiago

minha dúvida é bem básica, estou iniciando no java agora e gostaria de saber como adicionar um método já criado a um botão.
No caso eu estou criando um programa que recebe coordenadas e tamanhos de figuras num textfield. O que eu quero fazer é:
quando eu clicar no botão elipse,(por exemplo) um método é executado e pega os valores da textfield como parâmetros para desenhar a elipse.
Vou postar o código, e gostaria que dissessem se criei certo.
Como no caso de oval, recebe apenas inteiro, eu converti o textfield para string e depois para inteiro, fiz certo isso tbm?

import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import java.awt.geom.*;
 class ExplorandoTeclado  extends Frame  {
 	
 	//atributos
 	private TextField coordX, coordY, tamX, tamY;
 	private JButton elipse, retangulo, desenhar, linha;
 	private Label tituloCooX, tituloCooY, tituloTamX, tituloTamY;
 	
 	
 	//construtor
	public ExplorandoTeclado (){
		super ("Java Paint");
		setSize (640,480);
		show();
		setVisible (true);
		setResizable(false); //define que a janela não pode ser maximizada
		
	// habilitando o botão de fechar a janela
		addWindowListener(
				new WindowAdapter(){
					public void windowClosing(WindowEvent e)
					{	dispose(); // mata o objeto "this" (fecha a janela)
						System.exit(0); // fecha o programa
					}
				}
			);
			BarraDeFerramentas ();
	}
	//criando o método barra de ferramentas
	
	public void BarraDeFerramentas (){
		
		//carregando o panel
		JPanel plano = new JPanel ();
		
		//carregando os icones
		ImageIcon elipseIcon = new ImageIcon ("elipse.gif");
		ImageIcon retanguloIcon = new ImageIcon ("retangulo.gif");
		ImageIcon linhaIcon = new ImageIcon ("linha.gif");
		
		//atribuindo ícones aos botões
		elipse = new JButton (elipseIcon);
		retangulo = new JButton (retanguloIcon);
		linha = new JButton (linhaIcon);
		
		//atribuindo labels e textFields
		tituloCooX = new Label ("Posição X: ");
		tituloCooY = new Label ("Posição Y: ");
		tituloTamX = new Label ("Tamanho X: ");
		tituloTamY = new Label ("Tamanho Y: ");
		
		coordX = new TextField ( 3);
		coordY = new TextField ( 3);
		 tamX = new TextField ( 3);
		  tamY = new TextField ( 3);
		//adicionando campos de digitação
		plano.add (tituloCooX);
		plano.add (coordX);
		plano.add (tituloCooY);
		plano.add (coordY);
		plano.add (tituloTamX);
		plano.add (tamX);
		plano.add (tituloTamY);
		plano.add (tamY);
	
		//adicionando os botões ao Panel
		plano.add(retangulo);
		plano.add(elipse);
		plano.add(linha);
		add(plano);
		pack ();
		setVisible (true);
			
	}
	// convertendo os textfields pra string
	  String c1 = (String) coordX.getText();
	  String c2 = (String) coordY.getText();
	  String t1 = (String) tamX.getText ();
	  String t2 = (String) tamY.getText ();

	
	//criando os métodos de desenho
	public void Elipse (Graphics g) {
	
	//convertendo string para inteiros	
	int cX = Integer.parseInt(c1);
	int cY = Integer.parseInt(c2);
	int tX = Integer.parseInt(t1);
	int tY = Integer.parseInt(t2);
	
	{g.drawOval (cX, cY, tX, tY);}
	
		
	}	
	
	public void Retangulo (Graphics g) {
	
	//convertendo string para inteiros	
	int cX = Integer.parseInt(c1);
	int cY = Integer.parseInt(c2);
	int tX = Integer.parseInt(t1);
	int tY = Integer.parseInt(t2);
	
	{g.drawRect (cX, cY, tX, tY);}
	
		
	}	
	
	public void Linha (Graphics g) {
	
	//convertendo string para inteiros	
	int cX = Integer.parseInt(c1);
	int cY = Integer.parseInt(c2);
	int tX = Integer.parseInt(t1);
	int tY = Integer.parseInt(t2);
	
	{g.drawLine (cX, cY, tX, tY);}
	
		
	}
	
	
	//atribuindo eventos aos botões
	elipse.addActionListener(this);
	retangulo.addActionListener (this);
	linha.addActionListener (this);
	
	

	
	
	public static void main (String [] args){
		ExplorandoTeclado  JavaPaint = new ExplorandoTeclado ();
	}
}

2 Respostas

S

De uma olhada nese tutorial

http://www.guj.com.br/java.tutorial.artigo.38.1.guj

para adicionar uma ação a um botao siga o exemplo SwingExemplo2

falou

S

De uma olhada nesse tutorial

http://www.guj.com.br/java.tutorial.artigo.38.1.guj

para adicionar uma ação a um botao siga o exemplo SwingExemplo2

Falou.

Criado 26 de setembro de 2007
Ultima resposta 26 de set. de 2007
Respostas 2
Participantes 2