error con "static context"
Publicado por celia (4 intervenciones) el 27/03/2007 13:34:54
Hola. Estoy haciendo un programa en Java, con Netbeans. No es nada complicado, simplemente introducir unos datos y sacar una respuesta en otra ventana.
El problema es que intento llamar a un método de otra clase al pulsar un botón. El contexto del botón es 'private' y no puedo cambiarlo, pero el método al que intento llamar es 'public' y al intentar ejecutar el programa me sale el siguiente error:
"non static method cannot be referenced form a static context".
Sé cual es el problema, pero no sé cómo solucionarlo. ¿Pueden ayudarme?
Muchas gracias.
Este es el trozo de código que me da problemas, por si les sirve de ayuda:
- DESDE LA CLASE PREGUNTAS
public class Preguntas extends javax.swing.JFrame {
...
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
aceptar = true;
int c = 0;
String edif = this.jTextField1.getText();
String act = this.jComboBox1.getSelectedItem().toString();
Principal.setDatos(edif, act);
}
...
}
- DESDE LA CLASE PRINCIPAL
public class Principal extends javax.swing.JFrame {
...
public void setDatos(String edif, String act) {
jLabel4.setText(edif);
jLabel5.setText(act);
}
......
}
El problema es que intento llamar a un método de otra clase al pulsar un botón. El contexto del botón es 'private' y no puedo cambiarlo, pero el método al que intento llamar es 'public' y al intentar ejecutar el programa me sale el siguiente error:
"non static method cannot be referenced form a static context".
Sé cual es el problema, pero no sé cómo solucionarlo. ¿Pueden ayudarme?
Muchas gracias.
Este es el trozo de código que me da problemas, por si les sirve de ayuda:
- DESDE LA CLASE PREGUNTAS
public class Preguntas extends javax.swing.JFrame {
...
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
aceptar = true;
int c = 0;
String edif = this.jTextField1.getText();
String act = this.jComboBox1.getSelectedItem().toString();
Principal.setDatos(edif, act);
}
...
}
- DESDE LA CLASE PRINCIPAL
public class Principal extends javax.swing.JFrame {
...
public void setDatos(String edif, String act) {
jLabel4.setText(edif);
jLabel5.setText(act);
}
......
}
Valora esta pregunta


0