Boa tarde,
infelizmente faltei a aula que me explicaria sobre isso e estou correndo atrás de tudo.
Até agora já entendi como fazer text field, botoes e fazer os mesmos aparecerem.
O problema é o seguinte, como faço para um botão ao ser acionado fazer um comando x ?
exemplo
[code]import java.awt.Button;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.TextField;
public class Janela extends Frame {
private Button b1;
private TextField t1,t2;
private void initComponents()
{
this.setLayout(new FlowLayout());
b1 = new Button("OK");
this.add(b1);
t1 = new TextField();
t1.setColumns(30);
this.add(t1);
this.setTitle("Minha Janela");
t2 = new TextField();
t2.setColumns(30);
this.add(t2);
t2=t1;
this.pack();
}
public Janela() {
initComponents();
}
public static void main(String args[])
{
//Janela janela = new Janela();
//janela.setVisible(true);
new Janela().setVisible(true);
}
}[/code]
como faço para o b1 pegar o t1 multiplicar por 2 e tacar no t2?
muito obrigado desde já
valeu!
vc tera que criar uma classe que implementa a interface ActionListener,
e adicionar uma instancia dela usando o metodo:
b1.addActionListener(instanciaDaSuaClasse);
se não me falha a memória é isso, estou sem jdk pra conferir, ve ai e
fala qualquer coisa.
m4rcu5
Novembro 3, 2008, 4:43pm
#3
b1.addActionListener(new ActionListener() { // import java.awt.event.*;
public void actionPerformed(ActionEvent ev) {
int resultado = Integer.parseInt(t1.getText()) * 2;
t2.setText(resultado); //talvez tenha que converter para String
}
});
espero ter ajudado.
[]s
Ola marcus,
olha soh seu codigo me volta um erro sobre o ActionListener();
o erro que volta é “ActionListener cannot be resolved to a type”
eu estaria colocando esse codigo no lugar errado ?
observe por favor.
[code]import java.awt.Button;
import java.awt.*;
import javax.swing.JFrame;
public class jana {
public static void main (String args[]){
JFrame frame = new JFrame(“Digite um numero”);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane();
frame.setVisible(true);
frame.setLayout(new FlowLayout());
Button b1 = new Button(“OK”);
frame.add(b1);
TextField t1 = new TextField();
t1.setColumns(30);
frame.add(t1);
TextField t2 = new TextField();
t2.setColumns(30);
frame.add(t2);
frame.pack();
b1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ev) {
int resultado = Integer.parseInt(t1.getText()) * 2;
t2.setText(resultado);
}
[/code]
faltou o import que ele colocou no comentario do lado:
b1.addActionListener(new ActionListener() { // import java.awt.event.*;
eu importei todos awt com “*” sacou ?
abracos
[quote=pedrolima88]eu importei todos awt com “*” sacou ?
abracos[/quote]
acho que foi awt.event.* que vc quis dizer.
cara eu acho que desse jeito que eu fiz ele importa tmb o events… mas vouver aqui
Sim é diferente… o primeiro importa todas as classes do pacote java.awt e o segundo do pacote java.awt.event
af malz, oensei que importava todas ate “subclasses”
Bom, alguem tem ideia de como fazer um casting aqui ?
b1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ev) {
int resultado = Integer.parseInt(t1.getText()) * 2;
t2.setText(resultado);
?
ele diz que o setText necessita ter o resultado alterado para sstring, caso eu troque o resultado pede para ser int :T
e agora? o que fazer?
tentei por casting na frente do int(resultado) mas nao pegou :T
valeu
m4rcu5
Novembro 3, 2008, 9:54pm
#12
t2.setText(String.valueOf(resultado));
Acho que é isso.
Bom, antes de mais nada gostaria de agradecer a todos que leram esse topico e exclusivamente aos que me ajudaram.
Deu certo e esta rodando sem erros:D
valeu pessoal! abracos.