Hello,
I have the following code, what I want is to modify the value of the instance called number to any value
I have both classes in the same package
ReflectionOnClass.class
import javax.swing.*;
import java.awt.*;
public class ReflectionOnClass extends JFrame {
private int number = 2;
private JLabel jLabel = new JLabel("X: " + number);
public ReflectionOnClass() {
setLayout(new FlowLayout());
setPreferredSize(new Dimension(200,200));
add(jLabel);
setDefaultCloseOperation(3);
setLocationRelativeTo(null);
pack();
setVisible(true);
}
}
ExecReflection.class
import java.lang.reflect.Field;
import java.util.stream.Stream;
public class ExecReflection {
private static final String C = "ReflectionOnClass";
public ExecReflection() {
try {
final Field field = Class.forName(C).getDeclaredField("number");
field.setAccessible(true);
final ReflectionOnClass rF = new ReflectionOnClass();
field.set(rF , 100);
mostrar("Value number: " + field.get(rF));
}catch (Exception ex){
ex.printStackTrace();
}
}
the output is the correct as in the image but in the JFrame there is no
there is no possibility to change the value of said variable before the JFrame starts?
Aucun commentaire:
Enregistrer un commentaire