Java - Variables en java (Diferentes clases)

 
Vista:

Variables en java (Diferentes clases)

Publicado por Nicko2310 (3 intervenciones) el 29/03/2012 05:49:49
Hola gente estoy empezando a programar en java y me salto un problema
Tengo un paquete con 3 clases

-main.java
-libro.java (en esta clase esta el JFrame)
-inicio.java

En libro.java donde esta el jFrame declare una variable y la inicialice (EJ. String casa = “”;)
Aquí esta el problema es variable (que cambio el valor) la quiero leer y volver a usar en las otras clases sin que se pierda su valor

PD La variable es te en jFrame pero en la acción de un Jbutton :
private void botonActionPerformed
String casa = ””;

Gracias desde ya
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

Variables en java (Diferentes clases)

Publicado por David (13 intervenciones) el 29/03/2012 21:24:38
Hola que tal, mira tu problema esta en que la variable la tienes instanciada en un método privado eso quiere decir que solo ese método puede acceder a esas variables también mediante los métodos Getter y Setter pero yo te recomiendo que la inicialices en el constructor de la clase y como publica así podrás acceder a ella desde otras clases y también el metodo private del JButton podrá acceder a ella y asi te quitas dolores de cabeza espero que te allá servido mi ayuda si estoy equivocado por favor corrijan me yo tambien estoy aprendiendo . Un saludo.
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

Variables en java (Diferentes clases)

Publicado por nicko2310 (3 intervenciones) el 30/03/2012 14:08:10
gracias por la respuesta david pero para orientarme mejor no podrias usar algun ejemplo ??

Despues en el Jframe como uso las variables hay que importarlas ??

Gracias por la ayuda
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

Variables en java (Diferentes clases)

Publicado por David (13 intervenciones) el 30/03/2012 15:59:48
Claro nicko como no se muy bien lo que quieres hacer te echo un ejemplo en el que tengo un JFrame y un solo boton en el centro con la variable casa que es declarada como publica y estatica para despues ser llamada desde el metodo privado del JButton en la que al pinchar en el boton el nombre sera reemplazado por el contenido de la variable casa, tambien un 2º ejemplo para resolver tus dudas al intentar llamar a la variable casa desde otra clase. Espero que te sirva.
Un saludo


package Ejercicios;


public class ejemplo extends javax.swing.JFrame {

public static String casa="ESTA ES MI CASA"; //Declara la variable aquí,como publica.

public ejemplo() {

initComponents();
}


@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {

jButton1 = new javax.swing.JButton();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

jButton1.setText("jButton1");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(121, 121, 121)
.addComponent(jButton1)
.addContainerGap(206, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap(144, Short.MAX_VALUE)
.addComponent(jButton1)
.addGap(133, 133, 133))
);

pack();
}// </editor-fold>

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
jButton1.setText(casa); //y aqui el metodo private recupera el valor de la variable publica CASA
//por que lo privado ve lo publico.
}

/**
* @param args the command line arguments
*/
public static void main(String args[]) {

java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {
new ejemplo().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton jButton1;
// End of variables declaration
}

class ejemplo2{ //Clase 2 ejemplo 2.

public static void main(String[] args) {
System.out.println(ejemplo.casa);//y a su vez tambien puede ser llamada en otras clases
}

}
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

Variables en java (Diferentes clases)

Publicado por Nicko2310 (3 intervenciones) el 12/04/2012 06:11:30
Estuve revisando el tema un poco y me di cuenta que lo puedo solucionar de otra forma que también me lleva a otro problema
Existe la posibilidad de que cambiar un método privado a publico me explico
En un jframe tengo un jbuttom
Cuando escribo el código dentro

private void jButton7ActionPerformed(java.awt.event.ActionEvent evt) {
String mensaje = “Hola mundo”;
jtxt.setText(mensaje);
}

Las variables me quedan inaccesibles porque están dentro de un método privado
Como puedo acceder de a mi string mensaje desde otro jbuttom u otro método??
Gracias por la ayuda.
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