Java - Dudas con código de Eventos.

 
Vista:
sin imagen de perfil

Dudas con código de Eventos.

Publicado por mozer (1 intervención) el 21/06/2017 21:27:24
Hola a todos,

Acabo de terminar el tema de Eventos y me estoy poniendo practicas, esta es un marco que imprime el contenido de un JTextField, por defecto el texto es Hola y cuando se cambia debería imprimir el cambio pero este solo saca un Janel con "Hola".

Intente que la clase Mensaje sea interna de Lamina pero no funciona, veis algo mal en el codigo?

Gracias :)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
import java.awt.Component;
import java.awt.PopupMenu;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
 
public class Saluda {
    public static void main(String[] args) {
        Marco var= new Marco();
    }
 
}
 
class Marco extends JFrame{
        public Marco(){
        setTitle("Marco123");
        setBounds(300,300,500,500);
        setVisible(true);
        Lamina var=new Lamina();
        add(var);
 
}
}
 
class Lamina extends JPanel{
 
    public Lamina(){
    JTextField caja=new JTextField();
    caja.setText("Hola");
    JButton boton=new JButton("Press me"); ;
 
    add(caja);
    add(boton);
    Mensaje car1=new Mensaje(caja.getText());
    boton.addActionListener(car1);
 
    }
 
 
}
 
class Mensaje implements ActionListener {
    String vari;
    public Mensaje(String txt){
        vari=txt;
 
    }
 
    @Override
    public void actionPerformed(ActionEvent e) {
 
        System.out.println(vari);
        JOptionPane.showMessageDialog(null,vari);
    }
 
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Dudas con código de Eventos.

Publicado por Jordi (135 intervenciones) el 21/06/2017 22:06:17
El problema es que los elementos no se añaden a la ventana o que los procedimientos que tienen que hacer estos no andan?
Lo digo porque lo correcto es esto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class Marco extends JFrame{
 
        public Marco(){
 
        setTitle("Marco123");
 
        setBounds(300,300,500,500);
 
 
        Lamina var=new Lamina();
        add(var);
        setVisible(true);
 
 
 
 
}
 
}
Luego, te aparece hola siempre porque creas el objeto que imprime el texto con el parametro hola ya desde un principio. Y al pulsar el boton no le asignas el nuevo texto (no actualizas).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar