eu criei um programa e gostaria de saber como eu façoo pra atribuir uma funçao a um botao dentro de uma frame.
eu fiz a frame fiz o botao mas naum sei qual sintaxe usar para fazer isso…Agradeço aos q puderem me ajudar!!!
Vc precisará de um evento de mouse no botão.
Importe a classe ActionEvent e ActionListener. Ai, lá nu seu botão, coloque:
botao.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent qlqcoisa)
{
//o que voce quer que o botao faça
}
}
);
[]'s
http://www.guj.com.br/posts/list/31723.java
da uma olhada nesse tópico, e vê se encontra alguma dúvida…
Até!
entendi a sintaxe mas naum consigo implementar ela no meu programa vou postar meu codigo c alguem puder ajudar agradeço!!!
import javax.swing.;
import java.util.;
import java.awt.;
import java.awt.event.;
import java.awt.event.ActionListener;
public class DadosClientes3
{
//entrada dialog recebe String
static String entrada(String msg)
{
String a;
a = JOptionPane.showInputDialog(msg);
return a;
}
//entrada dialog recebe Float
static Float entrada2(String msg)
{
String d;
float c;
d = JOptionPane.showInputDialog(msg);
try
{
c = Float.parseFloat(d);
}
catch(NumberFormatException tryInt)
{
JOptionPane.showMessageDialog(null,"Valor invalido","ERRO",JOptionPane.ERROR_MESSAGE);
c = 0;
}
return c;
}
//entrada dialog recebe Int
static int entrada3(String msg)
{
String e;
int f;
e = JOptionPane.showInputDialog(msg);
try
{
f = Integer.parseInt(e);
}
catch(NumberFormatException tryInt)
{
JOptionPane.showMessageDialog(null,"Valor Invalido","ERRO",JOptionPane.ERROR_MESSAGE);
f = 0;
}
return f;
}
public static void main(String args[])
{
//apresenta o programa
System.out.println("Produzido por AlexandreLTD");
System.out.println("Aguarde...");
//
//entrada de valores
float Valor = 0;
int Qloop = 0;
int Quantidade = 0;
int QPessoa = 0;
String Nome ="";
String recebe ="";
String recebe2 ="";
Vector nome = new Vector();
Vector valor = new Vector();
Vector quantidade = new Vector();
//
//o usuario escolhe quantas vezes o programa vai rodar
Qloop = entrada3("Digite o numero de clientes: ");
//
//loop1
for(QPessoa = 0; QPessoa < Qloop; QPessoa++)
{
//entrada de dados
Nome = entrada ("Entre com o nome ou o codigo da pessoa: ");
nome.add(Nome);
Valor = entrada2("Entre com o valor da compra: ");
valor.add(Valor);
Quantidade = entrada3("Entre com a quantidade: ");
quantidade.add(Quantidade);
}
//
//cria a Frame e a Box
//
JFrame Frame = new JFrame("Lista de Clientes");
Box box = Box.createHorizontalBox();
JTextArea TA = new JTextArea("",15,15);
JButton BSair = new JButton("Exit");
//Frame
Frame.getContentPane().add(box);
Frame.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
//box
box.add(new JScrollPane(TA));
box.add(BSair);
//TextArea
TA.setBackground(Color.blue);
TA.setForeground(Color.white);
TA.setEditable(false);
//frame
Frame.setSize(572,370);
Frame.setVisible(true);
//
//cria a frame2 e a box2
//
JFrame Frame2 = new JFrame("Area de ediçao");
Box box2 = Box.createHorizontalBox();
JTextArea TA2 = new JTextArea("",10,15);
JButton BSair2 = new JButton("Exit");
//Frame
Frame2.getContentPane().add(box2);
Frame2.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
Frame2.setBounds(300,300,100,100);
//box
box2.add(new JScrollPane(TA2));
box2.add(BSair2);
//TextArea
TA2.setBackground(Color.blue);
TA2.setForeground(Color.white);
TA2.setEditable(true);
//Frame
Frame2.setSize(572,370);
Frame2.setVisible(true);
//
//loop2
for(int y = 0; y < Qloop; y++)
{
if ((nome == null) || (quantidade == null) || (valor == null))
{
System.exit(0);
}
recebe = TA.getText()+"Nº"+(y+1)+"\nNome do cliente: "+nome.elementAt(y)+"\nValor da compra: "+valor.elementAt(y)+"\nQuantidade comprada: "+quantidade.elementAt(y)+"\n\n";
recebe2= "Faça a correção nessa area:\n";
TA.setText(recebe);
TA2.setText(recebe2);
}
//saida
System.out.println("End Of Program!");
}
}
posta o código com as tags de “code” né =S
da pra ti fazer algo do tipo:
BSair.addActionListener(this);
colocor um método novo na sua classe
public void actionPerformed(ActionEvent e) {
if( e.getSource() == BSair ) {
//acao
}
}
e não se esqueça de dar import nessas classes:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
e uma dica… não coloque nome de variaveis com a primeira letra maiuscula como “BSair”… primeira letra maiuscula se usa mais para nome de Classes… =]
até!
no valeu pela dica vo tenta implementar isso aqui! valeu mesmo!@!!!
Se estiveres a usar um IDE como o netbeans torna tudo mais fácil, porque basta com o botao do lado direito do rato clicar em cima do botao ir a eventos e activar o ACTION por exempo. Deixo aqui o exemplo de um código de um JButton que chama outra JFrame do programa
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
NomeDoFrame frm = new NomeDoFrame();
frm.setVisible(true);
}
ja tentei implementar essas linhas de codigos mas naum consigo acertar na sintaxe o q esta errado nesse programa alguem me ajude!!!por favor!!!
[quote]/*Programa feito em
*06/12/2006
*pelo aluno de
*Engenharia de Software 1º periodo (UNATEC)
*Alexandre de Almeida Oliveira
*esse programa recebe valor quantidade e nome de compra e de cliente enumera e imprimi
*os valores na ordem dentro de uma frame
**/
import javax.swing.;
import java.util.;
import java.awt.;
import java.awt.event.;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class DadosClientes4 implements ActionListener
{
//Entrada dialog recebe String
static String entrada(String msg)
{
String a;
a = JOptionPane.showInputDialog(msg);
return a;
}
//Entrada dialog recebe Float
static Float entrada2(String msg)
{
String d;
float c;
d = JOptionPane.showInputDialog(msg);
try
{
c = Float.parseFloat(d);
}
catch(NumberFormatException tryInt)
{
JOptionPane.showMessageDialog(null,"Valor invalido","ERRO",JOptionPane.ERROR_MESSAGE);
c = 0;
}
return c;
}
//Entrada dialog recebe Int
static int entrada3(String msg)
{
String e;
int f;
e = JOptionPane.showInputDialog(msg);
try
{
f = Integer.parseInt(e);
}
catch(NumberFormatException tryInt)
{
JOptionPane.showMessageDialog(null,"Valor Invalido","ERRO",JOptionPane.ERROR_MESSAGE);
f = 0;
}
return f;
}
public static void main(String args[])
{
//Apresenta o programa
System.out.println("Produzido por AlexandreLTD");
System.out.println("Aguarde...");
//
//Entrada de valores
float Valor = 0;
int Qloop = 0;
int Quantidade = 0;
int QPessoa = 0;
String Nome ="";
String recebe ="";
String recebe2 ="";
Vector nome = new Vector();
Vector valor = new Vector();
Vector quantidade = new Vector();
//
//O usuario escolhe quantas vezes o programa vai rodar
Qloop = entrada3("Digite o numero de clientes: ");
//
//Loop1
for(QPessoa = 0; QPessoa < Qloop; QPessoa++)
{
//Entrada de dados
Nome = entrada ("Entre com o nome ou o codigo da pessoa: ");
nome.add(Nome);
Valor = entrada2("Entre com o valor da compra: ");
valor.add(Valor);
Quantidade = entrada3("Entre com a quantidade: ");
quantidade.add(Quantidade);
}
//
//Cria a Frame e a Box
//
JFrame.setDefaultLookAndFeelDecorated(true);
JFrame Frame = new JFrame("Lista de Clientes");
Box box = Box.createVerticalBox();
JTextArea TA = new JTextArea("",15,15);
JButton BSair = new JButton("Exit");
JButton Correcao = new JButton("Corrigir");
//Frame
Frame.getContentPane().add(box);
Frame.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
//Box
box.add(new JScrollPane(TA));
box.add(BSair);
box.add(Correcao);
Correcao.addActionListener(this);
BSair.addActionListener(this);
//TextArea
TA.setBackground(Color.blue);
TA.setForeground(Color.white);
TA.setEditable(false);
//Frame
Frame.setSize(572,370);
Frame.setVisible(true);
//
//Cria a frame2 e a box2
//
JFrame Frame2 = new JFrame("Area de ediçao");
Box box2 = Box.createVerticalBox();
JTextArea TA2 = new JTextArea("",10,15);
JButton BSair2 = new JButton("Exit");
//Frame
Frame2.getContentPane().add(box2);
Frame2.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
Frame2.setBounds(300,300,100,100);
//Box
box2.add(new JScrollPane(TA2));
box2.add(BSair2);
//TextArea
TA2.setBackground(Color.blue);
TA2.setForeground(Color.white);
TA2.setEditable(true);
//Frame
Frame2.setSize(572,370);
Frame2.setVisible(true);
//
//Loop2
for(int y = 0; y < Qloop; y++)
{
if ((nome == null) || (quantidade == null) || (valor == null))
{
System.exit(0);
}
recebe = TA.getText()+"Nº"+(y+1)+"\nNome do cliente: "+nome.elementAt(y)+"\nValor da compra: "+valor.elementAt(y)+"\nQuantidade comprada: "+quantidade.elementAt(y)+"\n\n";
recebe2= "Faça a correção nessa area:\n";
TA.setText(recebe);
TA2.setText(recebe2);
}
//Saida
System.out.println("End Of Program!");
}
}
poderia dizer qual o Erro?
eu criei os botoes mas num consego usar eles. tipo temo botao de saida mas c vc aperta ele ele num sai tipo num tem funcao nenhuma! ta dificil de implementar essa funcao!!
claro… você não adicionou nenhum ActionListener nos botões…
você tem que colocar algo desse tipo:
[code]public void actionPerformed(ActionEvent e) {
if( e.getSource() == BSair ) {
//acao
}
}
[/code]
e no seu Jbutton, dar um seuJButton.addActionListener(this);
www.java2s.com tem uns exemplos legais lá… da uma procurada, aih compara o seu com algum que tenha lá… até!