Gracias de nuevo Fuzzylog.
A ver si me explico mejor, en cuanto a visibilidad y accesibilidad de funciones y datos no me resulta demasiado complejo ya que se parece a c# aunque tiene sus diferencias y el ejemplo que pones esta bien para entender algunas cosas.
Mi problema principal es el acceso , aun dentro de la misma clase.
Te pongo un jframe básico de prueba que tengo.
Código PHP:
package testUI;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JLabel;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
public class TestFrame {
private JFrame frame;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
TestFrame window = new TestFrame();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the application.
*/
public TestFrame() {
initialize();
}
/**
* Initialize the contents of the frame.
*/
private void initialize() {
frame = new JFrame();
frame.setBounds(100, 100, 450, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(null);
JButton btnBoton1 = new JButton("Boton de prueba");
btnBoton1.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent arg0) {
btClick();
}
});
btnBoton1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
}
});
btnBoton1.setBounds(137, 188, 164, 23);
frame.getContentPane().add(btnBoton1);
JLabel lblLabel1 = new JLabel("Texto de prueba");
lblLabel1.setBounds(97, 78, 204, 14);
frame.getContentPane().add(lblLabel1);
}
void btClick(){
//Cambiar el texto de lblLabel1
}
}
Está creado directamente con el design en eclipse.
Tiene un botón, "btnBoton1" y un label "lblLabel1".
Añado la función "void btClick()" al botón "btnBoton1".
Mi duda es , desde esta función, cual sería la mejor forma (o la manera mas correcta) de acceder a "lblLabel1". ¿existe alguna forma de acceder a un componente ya creado en un jframe de una manera cómoda?
Edito: Hablo de acceder desde la propia clase como desde la función btClick, en el caso de acceder desde fuera ya sé que tendría que cambiar la visibilidad de la función.
Edito2:
Lo que hago es declarar JLabel lblLabel1; Al incio fuera de " initialize()" y dentro de initialize() poner lblLabel1 = new JLabel("Texto de prueba");
Pero no se si es el paso correcto o si se puede acceder a cualqueria de los componentes de un jframe de otro modo.
Saludos, gracias y perdona por preguntar tanto.