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 () ;
} }
|