Hola me Gustaria saber como usar la herencia en java claro usando POO...pero no se si este codigo que muestro aqui esta empleando la herencia....Me gustria ver las opiniones o aclaraciones de algunos de ustedes....o mejor aun proporcionarme alguna pequeña apliacion que maneje Herencia....TAMBIEN QUISIERA QUE DIERAN VARIAS CRITICAS SOBRE ESTE PROGRAMA Y SOBRE TODO SI VIOLA LAS REGLAS DE LA PROGRAMACION ORIENTADA A OBJETOS....AHH y bueno si hay otra manera mucho mas cortita de hacerlo....
Gracias....
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class Calcular {
private int num1;
private int num2;
public void asignar (int n1, int n2){
num1 = n1;
num2 = n2;
}
public int multiplique(){
return num1 * num2; }
}
class Boton1 extends JFrame implements ActionListener
{
Calcular obj = new Calcular ();
String nom;
int num,num2,resp;
JButton a = new JButton("SALIR");
JButton b = new JButton("ACEPTAR");
JLabel label1 = new JLabel("INTRODUZCA UN NUMERO");
JLabel label2 = new JLabel("INTRODUZCA OTRO NUMERO");
JLabel label3 = new JLabel ("");
JTextField text1 = new JTextField ("");
JTextField text2 = new JTextField ("");
//********************************************************************
public Boton1 (String x) {
//AGREGAR LOS CONTENEDORES AL SEGUNDO FRAME
super(x);
getContentPane().add(label1);
getContentPane().add(label2);
getContentPane().add(text1); // El orden en que se agreganlos contenedores es muy importante
getContentPane().add(text2); // define como se puede trabajar
getContentPane().add( a);
getContentPane().add( b );
getContentPane().add(label3);
getContentPane().setBackground(new Color(255,182,193));
label1.setBounds(10,50,200,25);
label2.setBounds(10,90,200,25); // LAS COORDENADAS EN DONDE DEBEN QUEDAR EN EL FRAME
label3.setBounds(10,140,150,25); // CADA ELEMENTO
text1.setBounds(200,50,150,25);
text2.setBounds(200,90,150,25);
a.setBounds(250,200,120,25);
b.setBounds(250,230,120,25);
b.addActionListener(this);
a.addActionListener(this);
}
public void actionPerformed(ActionEvent ev) // ESTE ES EL METODO QUE CONTROLA A LOS BOTONES DE SALIR
{ // Y ACEPTAR
if(ev.getSource()==b){
num= Integer.parseInt(text1.getText());
num2=Integer.parseInt(text2.getText());
obj.asignar (num, num2);
resp=obj.multiplique();
label3.setText("Hola tu respuesta es: " + resp);
}
if(ev.getSource()==a){
//label3.setText("ESTOY EN SALIR");
System.exit (0); }
} }
class Miclase extends JFrame implements ActionListener
{
JFrame frame = new JFrame("UN FRAME BASICO");
JButton continuar = new JButton ("CONTINUAR");
JLabel label = new JLabel("BIEVENIDO AL MUNDO GRAFICO DE JAVA",
new ImageIcon("ccmbearapril.gif"),JLabel.CENTER);
Miclase (){
frame.getContentPane().add(continuar);
continuar.setBounds(35,180,120,25);
label.setVerticalTextPosition(JLabel.TOP);
label.setHorizontalTextPosition(JLabel.CENTER);
frame.getContentPane().add(label, BorderLayout.CENTER);
frame.getContentPane().setBackground(new Color(255,189,193));
frame.setBounds(250,150,450,300);
frame.setResizable(false);
frame.setVisible(true);
continuar.addActionListener(this);
}
public void actionPerformed(ActionEvent ev) // ESTE ES EL METODO QUE CONTROLA AL BOTON CONTINUAR
{
if(ev.getSource() == continuar){
frame.dispose();
Boton1 obj = new Boton1("MULTIPLICA");
obj.setBounds(250,150,450,300);
obj.setResizable(false);
obj.setVisible(true);}
}
}
class Frames2 { public static void main (String args[]) {
Miclase obj = new Miclase () ;
}
}