Hola buen día colegas programadores. Resulta que acabo de empezar con la programación en JAVA, acabo de empezar a programar interfaces gráficas con Eclipse (Librerías swing, awt). El problema consiste en que quiero cambiar las propiedades de un componente en tiempo de ejecución del programa. Al ejecutarlo me muestra un error en la línea 22 (frame.boton.setText("Hola");
01import java.awt.BorderLayout;
02import java.awt.EventQueue;
03import javax.swing.JFrame;
04import javax.swing.JPanel;
05import javax.swing.border.EmptyBorder;
06import javax.swing.JButton;
07
08public class Cambiar extends JFrame {
09 private JPanel contentPane;
10 JButton boton;
11 public static void main(String[] args) {
12 EventQueue.invokeLater(new Runnable() {
13 public void run() {
14 Cambiar frame = new Cambiar();
15 frame.setVisible(true);
16 actualiza();
17 }
18 });
19 }
20 public static void actualiza(){
21 Cambiar frame = new Cambiar();
22 frame.boton.setText("Hola");
23 }
24 public Cambiar() {
25 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
26 setBounds(100, 100, 450, 300);
27 contentPane = new JPanel();
28 contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
29 setContentPane(contentPane);
30 contentPane.setLayout(null);
31 JButton boton = new JButton("New button");
32 boton.setBounds(107, 61, 162, 97);
33 contentPane.add(boton);
34 }
35}
El error dice:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at Cambiar.actualiza(Cambiar.java:22)
at Cambiar$1.run(Cambiar.java:16)
De antemano, muchas gracias por sus respuestas y su tiempo.