Ver Mensaje Individual
  #2 (permalink)  
Antiguo 08/11/2011, 21:14
Avatar de HackmanC
HackmanC
 
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 9 meses
Puntos: 260
Sonrisa Respuesta: JButton desde JFrame?

Hola,

Cita:
Iniciado por luigimaldini Ver Mensaje
Bueno pues tengo la duda de que cuando creamos una clase para que aparezca una ventana utilizamos JFrame de la libreria swing, pero ademas de eso hay que colocar extends para hacer uso de sus metodos dentro de la clase, porque con Jbutton no hay que poner extends? es que JButton deriva de JFrame, porque por mas que leo no veo ninguna herencia directa desde JFrame, en fin, gracias.
Estás mezclando dos cosas completamente diferentes, una es el uso normal de objetos y otra es la herencia de clases.

Cuando tienes una clase cualquiera puedes extenderla para que tenga mejor funcionamiento, por ejemplo:
Código Java:
Ver original
  1. public class MySuperJFrame extends JFrame { ... }
  2. public class MySuperJButton extends JButton { ... }
En el caso de MySuperJFrame estás diciendo que vas a crear un JFrame mas avanzado que el simple JFrame, así también MySuperJButton puede tener también otras cualidades mejoradas que un simple JButton, por ejemplo que al presionarlo haga algún tipo de animación.

Ahora bien, cuando usas un objeto no lo estás extiendo, simplemente lo estás usando, por ejemplo:
Código Java:
Ver original
  1. JFrame frame = new JFrame();
  2. JButton button = new JButton();
En el caso del frame simplemente estás haciendo una ventana, sin funcionamiento específico, es decir, una ventana vacía. Si llamas al método setVisible(true) del frame, se va a ver una ventana sin nada (simplemente la barra de título y los botones de minimizar, maximizar y cerrar típicos de las ventanas). Aunque posteriormente puedas cambiarle el título, los colores, tamaño, etc. Por ejemplo:
Código Java:
Ver original
  1. frame.setTitle("Ventana");
Así también en el caso del JButton estás haciendo un botón vacío, sin funcionamiento y sin texto. Posteriormente puedes agregarle funcionamiento con un addListener() de cualquier tipo y puedes cambiarle el texto, colores, etc. Por ejemplo:
Código Java:
Ver original
  1. button.setText("Botón");
Para entender completamente el concepto busca un tutorial en Java sobre 'Herencia'.

Saludos,