Organigramas
1.- Objetos:
2.-Clases
3.- Atributos y Métodos:
4.- Herencia:
EJERCICIO 1:
Creamos un proyecto "contadores"
nombre del paquete "paqueteprincipal"
Clase BotonContador
En BotonContador ingresamos el siguiente codigo:
package paqueteprincipal;
import javax.swing.JButton;
public class BotonContador extends JButton {
//propiedades
int pulsaciones;
//constructor
public BotonContador() {
pulsaciones=0;
}
//asigna una cantidad de pulsaciones
public void setPulsaciones(int p) {
pulsaciones=p;
}
//devuelve las pulsaciones del botón
public int getPulsaciones() {
return pulsaciones;
}
//incrementa en uno las pulsaciones
public void incrementa() {
pulsaciones++;
}
//decrementa en uno las pulsaciones
public void decrementa() {
pulsaciones--;
}
//pone las pulsaciones a cero
public void reiniciar() {
pulsaciones=0;
}
//aumenta las pulsaciones en una cantidad c
public void aumenta(int c) {
pulsaciones=pulsaciones+c;
}
//disminuye las pulsaciones en una cantidad c
public void disminuye(int c) {
pulsaciones=pulsaciones-c;
}
}
package paqueteprincipal;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JOptionPane;
/**
*
*/
public class ventanaprincipal extends javax.swing.JFrame {
BotonContador btnBotonA;
BotonContador btnBotonB;
BotonContador btnBotonC;
/**
*/
public ventanaprincipal() {
initComponents();
CreacionVentana();
}
public void CreacionVentana(){
this.setTitle("Ejercicio de Herencia");
this.setSize(370,200);
//contruimos y situamos los botnoes contadores.
btnBotonA = new BotonContador();
btnBotonA.setText("Boton A");
btnBotonA.setBounds(10,10,100,30);
this.getContentPane().add(btnBotonA);
btnBotonB = new BotonContador();
btnBotonB.setText("Boton B");
btnBotonB.setBounds(130,10,100,30);
this.getContentPane().add(btnBotonB);
btnBotonC = new BotonContador();
btnBotonC.setText("Boton C");
btnBotonC.setBounds(250,10,100,30);
this.getContentPane().add(btnBotonC);
btnBotonA.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){
PulsacionBotonA(evt);
}
});
btnBotonB.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){
PulsacionBotonB(evt);
}
});
btnBotonC.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){
PulsacionBotonC(evt);
}
});
}
public void PulsacionBotonA(ActionEvent evt){
btnBotonA.incrementa();
}
public void PulsacionBotonB(ActionEvent evt){
btnBotonB.incrementa();
}
public void PulsacionBotonC(ActionEvent evt){
btnBotonC.incrementa();
}
/**
*/
@SuppressWarnings("unchecked")
private void btnVerPulsacionesActionPerformed(java.awt.event.ActionEvent evt) {
String info;
info = "El Boton A se a pulsado" + btnBotonA.getPulsaciones()+"\n";
info = info + "El Boton B se a pulsado" + btnBotonB.getPulsaciones()+"\n";
info = info +"El Boton C se a pulsado" + btnBotonC.getPulsaciones()+"\n";
JOptionPane.showMessageDialog(null,info);
// TODO add your handling code here:
}
private void btnReiniciarActionPerformed(java.awt.event.ActionEvent evt) {
btnBotonA.reiniciar();
btnBotonB.reiniciar();
btnBotonC.reiniciar();
// TODO add your handling code here:
}
private void btnIniciarActionPerformed(java.awt.event.ActionEvent evt) {
String info;
info = "El Boton A se a pulsado" + jTextField1.getText()+"\n";
info = info + "El Boton B se a pulsado" + jTextField1.getText()+"\n";
info = info + "El Boton C se a pulsado" + jTextField1.getText()+"\n";
JOptionPane.showMessageDialog(null,info);
// TODO add your handling code here:
}
/**
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new ventanaprincipal().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton btnIniciar;
private javax.swing.JButton btnReiniciar;
private javax.swing.JButton btnVerPulsaciones;
private javax.swing.JTextField jTextField1;
// End of variables declaration
}
Al ejecutar el programa nos mostrara lo siguiente:
Donde ingresaremos en el cuadro de texto una cantidad de pulsaciones la cual se mostrara en un mensaje de cada botón respectivamente
EJERCICIO 2:
Creamos un proyecto fecha
paquete de nombre " paqueteprincipal"
donde creare dos JFrame como vemos resaltado en la imagen "dialogoFecha" y "ventanaprincipal"
En el JFrame hacemos el siguiente formulario
Donde ingresamos el siguiente código:
package paqueteprincipal;
public class dialogoFecha extends javax.swing.JDialog {
int Dia;
int Mes;
int Año;
int botonpulsado;
public dialogoFecha(java.awt.Frame parent, boolean modal) {
super(parent, modal);
initComponents();
}
public String getFecha(){
String cadena;
cadena= Dia+"/"+Mes+"/"+Año;
return cadena;
}
public String getFechaCompleta(){
String cadena;
cadena= Dia+"de";
if (Mes==1){
cadena=cadena+"Enero";
}else if (Mes==2){
cadena=cadena+"Febrero";
}else if (Mes==3){
cadena=cadena+"Marzo";
}else if (Mes==4){
cadena=cadena+"Abril";
}else if (Mes==5){
cadena=cadena+"Mayo";
}else if (Mes==6){
cadena=cadena+"Junio";
}else if (Mes==7){
cadena=cadena+"Julio";
}else if (Mes==8){
cadena=cadena+"Agosto";
}else if (Mes==9){
cadena=cadena+"Septiembre";
}else if (Mes==10){
cadena=cadena+"Octubre";
}else if (Mes==11){
cadena=cadena+"Noviembre";
}else if (Mes==12){
cadena=cadena+"Diciembre";
}
cadena=cadena +"de" + Año;
return cadena;
}
public int getbotonpulsado(){
return botonpulsado;
}
/**
*/
@SuppressWarnings("unchecked")
private void btnCancelarActionPerformed(java.awt.event.ActionEvent evt) {
botonpulsado=1;
this.dispose();
// TODO add your handling code here:
}
private void btnAceptarActionPerformed(java.awt.event.ActionEvent evt) {
Dia = Integer.parseInt(txtDia.getText());
Mes = Integer.parseInt(txtMes.getText());
Año = Integer.parseInt(txtAño.getText());
botonpulsado=0;
this.dispose();
// TODO add your handling code here:
}
public static void main(String args[]) {
/* Set the Nimbus look and feel */
/* Create and display the dialog */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
dialogoFecha dialog = new dialogoFecha(new javax.swing.JFrame(), true);
dialog.addWindowListener(new java.awt.event.WindowAdapter() {
@Override
public void windowClosing(java.awt.event.WindowEvent e) {
System.exit(0);
}
});
dialog.setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton btnAceptar;
private javax.swing.JButton btnCancelar;
private javax.swing.JTextField txtAño;
private javax.swing.JTextField txtDia;
private javax.swing.JTextField txtMes;
// End of variables declaration
}
Realizamos el formulario para "ventanaprincipal"
ingresar el siguiente código en el otro JFrame:
package paqueteprincipal;
public class ventanprincipal extends javax.swing.JFrame {
dialogoFecha nacimiento;
public ventanprincipal() {
initComponents();
nacimiento=new dialogoFecha(null,true);
}
/**
*/
@SuppressWarnings("unchecked")
private void btnFechadeNaciemientoActionPerformed(java.awt.event.ActionEvent evt) {
nacimiento.setVisible(true);
if(nacimiento.getbotonpulsado()==0){
etiFechadeNaciemiento.setText(nacimiento.getFecha());
itefechaN.setText(nacimiento.getFechaCompleta());
}else{
etiFechadeNaciemiento.setText("");
itefechaN.setText("");
}
// TODO add your handling code here:
}
public static void main(String args[]) {
/* Set the Nimbus look and feel */
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new ventanprincipal().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton btnFechadeNaciemiento;
private javax.swing.JLabel etiFechadeNaciemiento;
private javax.swing.JLabel itefechaN;
// End of variables declaration
}
Al ejecutar el programa nos mostrara lo siguiente:
EJERCICIO 3:
Creamos un proyecto Multicine
paquete de nombre " paqueteprincipal"
donde creare una clase SalaCine y un JFrame "ventanaprincipal" como vemos resaltado en la imagen
En el JFrame hacemos el siguiente formulario
Donde ingresamos el siguiente código:
package paqueteprincipal;
public class SalaCine {
//propiedades
int Aforo;
int Ocupadas;
String Pelicula;
double Entrada;
public SalaCine(){
Aforo = 100;
Ocupadas = 0;
Pelicula = "";
Entrada = 5.0;
}
//Métodos set
//Método setAforo
public void setAforo(int afo) {
Aforo = afo;
}
//Método setOcupadas
public void setOcupadas(int ocu) {
Ocupadas = ocu;
}
//Método setPelicula
public void setPelicula(String peli) {
Pelicula = peli;
}
//Método setEntrada
public void setEntrada(double entra) {
Entrada = entra;
}
//Método setLibres
public void setLibres(int lib) {
int ocu;
ocu = Aforo - lib;
Ocupadas = ocu;
}
//Métodos get
//Método getAforo
public int getAforo() {
return Aforo;
}
//Método getOcupadas
public int getOcupadas() {
return Ocupadas;
}
//Método getPelicula
public String getPelicula() {
return Pelicula;
}
//Método getEntrada
public double getEntrada() {
return Entrada;
}
//Método getLibres
public int getLibres() {
int lib ;
lib = Aforo - Ocupadas ;
return lib;
}
//Método getPorcentaje
public double getPorcentaje() {
double por;
por = (double) Ocupadas / (double) Aforo * 100.0;
return por;
}
//Método getIngresos
public double getIngresos() {
double ingre;
ingre = Ocupadas * Entrada;
return ingre;
}
//Métodos de orden
//Método Vaciar
public void Vaciar() {
Ocupadas = 0;
Pelicula = "";
}
//Método entraUno
public void entraUno() {
Ocupadas++;
}
}
Realizamos el formulario para "ventanaprincipal"
ingresar el siguiente código en el JFrame:
package paqueteprincipal;
import javax.swing.JOptionPane;
public class ventanaprincipal extends javax.swing.JFrame {
SalaCine central;
SalaCine vo;
public ventanaprincipal() {
initComponents();
central =new SalaCine();
vo=new SalaCine();
central.setAforo(500);
central.setEntrada(8.0);
vo.setAforo(80);
vo.setEntrada(6.0);
}
@SuppressWarnings("unchecked")
private void btnCentralCambiarActionPerformed(java.awt.event.ActionEvent evt) {
String titulo;
titulo= JOptionPane.showInputDialog(null, "Introduce el titulo de la pelicula :" );
central.setPelicula(titulo);
etiCentralPelicula.setText(titulo);
// TODO add your handling code here:
}
private void btnCentralNuevaActionPerformed(java.awt.event.ActionEvent evt) {
central.entraUno();
}
private void btnCentralOcupacionActionPerformed(java.awt.event.ActionEvent evt) {
String info;
info="Sala Central \n ";
info = info + "Pelicula:" + central.getPelicula()+" \n";
info = info + "Aforo:" + central.getAforo()+" \n";
info = info + "Ocupadas:" + central.getOcupadas()+" \n";
info = info + "Libres:" + central.getLibres()+" \n";
info = info + "Porcentaje ocupacion:" + central.getPorcentaje()+" \n";
JOptionPane.showMessageDialog(null,info);
// TODO add your handling code here:
}
private void btnOriginalNuevaActionPerformed(java.awt.event.ActionEvent evt) {
vo.entraUno();
// TODO add your handling code here:
}
private void btnCentralVaciarActionPerformed(java.awt.event.ActionEvent evt) {
central.Vaciar();
etiCentralPelicula.setText("");
// TODO add your handling code here:
}
private void btnCentralIngresosActionPerformed(java.awt.event.ActionEvent evt) {
String info;
info=" Ingresos de la sala:" + central.getIngresos()+"euros";
JOptionPane.showMessageDialog(null,info);
// TODO add your handling code here:
}
private void btnOriginalOcupacionActionPerformed(java.awt.event.ActionEvent evt) {
String info;
info="Sala Central \n ";
info = info + "Pelicula:" + vo.getPelicula()+" \n";
info = info + "Aforo:" + vo.getAforo()+" \n";
info = info + "Ocupadas:" + vo.getOcupadas()+" \n";
info = info + "Libres:" + vo.getLibres()+" \n";
info = info + "Porcentaje ocupacion:" + vo.getPorcentaje()+" \n";
JOptionPane.showMessageDialog(null,info);
// TODO add your handling code here:
}
private void btnOriginalVaciarActionPerformed(java.awt.event.ActionEvent evt) {
vo.Vaciar();
etiOriginalPelicula.setText("");
// TODO add your handling code here:
}
private void btnOriginalIngresosActionPerformed(java.awt.event.ActionEvent evt) {
String info;
info=" Ingresos de la sala:" + vo.getIngresos()+ "euros";
JOptionPane.showMessageDialog(null,info);
// TODO add your handling code here:
}
private void btnOrignalCambiarActionPerformed(java.awt.event.ActionEvent evt) {
String titulo;
titulo= JOptionPane.showInputDialog(null, "Introduce el titulo de la pelicula :" );
vo.setPelicula(titulo);
etiOriginalPelicula.setText(titulo);
// TODO add your handling code here:
}
private void jButton11ActionPerformed(java.awt.event.ActionEvent evt) {
int total;
total = (int) (central.getIngresos() + vo.getIngresos());
JOptionPane.showMessageDialog(null,total);
// TODO add your handling code here:
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new ventanaprincipal().setVisible(true);
}
});
}
Al ejecutar el programa nos mostrara lo siguiente:
3.- Atributos y Métodos:
EJERCICIOS EN JAVA
EJERCICIO 1:
Creamos un proyecto "contadores"
nombre del paquete "paqueteprincipal"
Clase BotonContador
En BotonContador ingresamos el siguiente codigo:
package paqueteprincipal;
import javax.swing.JButton;
public class BotonContador extends JButton {
//propiedades
int pulsaciones;
//constructor
public BotonContador() {
pulsaciones=0;
}
//asigna una cantidad de pulsaciones
public void setPulsaciones(int p) {
pulsaciones=p;
}
//devuelve las pulsaciones del botón
public int getPulsaciones() {
return pulsaciones;
}
//incrementa en uno las pulsaciones
public void incrementa() {
pulsaciones++;
}
//decrementa en uno las pulsaciones
public void decrementa() {
pulsaciones--;
}
//pone las pulsaciones a cero
public void reiniciar() {
pulsaciones=0;
}
//aumenta las pulsaciones en una cantidad c
public void aumenta(int c) {
pulsaciones=pulsaciones+c;
}
//disminuye las pulsaciones en una cantidad c
public void disminuye(int c) {
pulsaciones=pulsaciones-c;
}
}
En el JFrame creado " ventanaprincipal" hacemos el formulario de la siguiente manera:
ingresar el siguiente código :
Con los nombres que se muestran en la parte izquierda de la imagen
ingresar el siguiente código :
package paqueteprincipal;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JOptionPane;
/**
*
*/
public class ventanaprincipal extends javax.swing.JFrame {
BotonContador btnBotonA;
BotonContador btnBotonB;
BotonContador btnBotonC;
/**
*/
public ventanaprincipal() {
initComponents();
CreacionVentana();
}
public void CreacionVentana(){
this.setTitle("Ejercicio de Herencia");
this.setSize(370,200);
//contruimos y situamos los botnoes contadores.
btnBotonA = new BotonContador();
btnBotonA.setText("Boton A");
btnBotonA.setBounds(10,10,100,30);
this.getContentPane().add(btnBotonA);
btnBotonB = new BotonContador();
btnBotonB.setText("Boton B");
btnBotonB.setBounds(130,10,100,30);
this.getContentPane().add(btnBotonB);
btnBotonC = new BotonContador();
btnBotonC.setText("Boton C");
btnBotonC.setBounds(250,10,100,30);
this.getContentPane().add(btnBotonC);
btnBotonA.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){
PulsacionBotonA(evt);
}
});
btnBotonB.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){
PulsacionBotonB(evt);
}
});
btnBotonC.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){
PulsacionBotonC(evt);
}
});
}
public void PulsacionBotonA(ActionEvent evt){
btnBotonA.incrementa();
}
public void PulsacionBotonB(ActionEvent evt){
btnBotonB.incrementa();
}
public void PulsacionBotonC(ActionEvent evt){
btnBotonC.incrementa();
}
/**
*/
@SuppressWarnings("unchecked")
private void btnVerPulsacionesActionPerformed(java.awt.event.ActionEvent evt) {
String info;
info = "El Boton A se a pulsado" + btnBotonA.getPulsaciones()+"\n";
info = info + "El Boton B se a pulsado" + btnBotonB.getPulsaciones()+"\n";
info = info +"El Boton C se a pulsado" + btnBotonC.getPulsaciones()+"\n";
JOptionPane.showMessageDialog(null,info);
// TODO add your handling code here:
}
private void btnReiniciarActionPerformed(java.awt.event.ActionEvent evt) {
btnBotonA.reiniciar();
btnBotonB.reiniciar();
btnBotonC.reiniciar();
// TODO add your handling code here:
}
private void btnIniciarActionPerformed(java.awt.event.ActionEvent evt) {
String info;
info = "El Boton A se a pulsado" + jTextField1.getText()+"\n";
info = info + "El Boton B se a pulsado" + jTextField1.getText()+"\n";
info = info + "El Boton C se a pulsado" + jTextField1.getText()+"\n";
JOptionPane.showMessageDialog(null,info);
// TODO add your handling code here:
}
/**
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new ventanaprincipal().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton btnIniciar;
private javax.swing.JButton btnReiniciar;
private javax.swing.JButton btnVerPulsaciones;
private javax.swing.JTextField jTextField1;
// End of variables declaration
}
Al ejecutar el programa nos mostrara lo siguiente:
Donde ingresaremos en el cuadro de texto una cantidad de pulsaciones la cual se mostrara en un mensaje de cada botón respectivamente
ejemplo
ingresamos 3 y en el mensaje nos sale que hemos pulsado los botones A, B, C 3 vecesCreamos un proyecto fecha
paquete de nombre " paqueteprincipal"
donde creare dos JFrame como vemos resaltado en la imagen "dialogoFecha" y "ventanaprincipal"
Con los nombres que se muestran en la parte izquierda del a imagen
Donde ingresamos el siguiente código:
package paqueteprincipal;
public class dialogoFecha extends javax.swing.JDialog {
int Dia;
int Mes;
int Año;
int botonpulsado;
public dialogoFecha(java.awt.Frame parent, boolean modal) {
super(parent, modal);
initComponents();
}
public String getFecha(){
String cadena;
cadena= Dia+"/"+Mes+"/"+Año;
return cadena;
}
public String getFechaCompleta(){
String cadena;
cadena= Dia+"de";
if (Mes==1){
cadena=cadena+"Enero";
}else if (Mes==2){
cadena=cadena+"Febrero";
}else if (Mes==3){
cadena=cadena+"Marzo";
}else if (Mes==4){
cadena=cadena+"Abril";
}else if (Mes==5){
cadena=cadena+"Mayo";
}else if (Mes==6){
cadena=cadena+"Junio";
}else if (Mes==7){
cadena=cadena+"Julio";
}else if (Mes==8){
cadena=cadena+"Agosto";
}else if (Mes==9){
cadena=cadena+"Septiembre";
}else if (Mes==10){
cadena=cadena+"Octubre";
}else if (Mes==11){
cadena=cadena+"Noviembre";
}else if (Mes==12){
cadena=cadena+"Diciembre";
}
cadena=cadena +"de" + Año;
return cadena;
}
public int getbotonpulsado(){
return botonpulsado;
}
/**
*/
@SuppressWarnings("unchecked")
private void btnCancelarActionPerformed(java.awt.event.ActionEvent evt) {
botonpulsado=1;
this.dispose();
// TODO add your handling code here:
}
private void btnAceptarActionPerformed(java.awt.event.ActionEvent evt) {
Dia = Integer.parseInt(txtDia.getText());
Mes = Integer.parseInt(txtMes.getText());
Año = Integer.parseInt(txtAño.getText());
botonpulsado=0;
this.dispose();
// TODO add your handling code here:
}
public static void main(String args[]) {
/* Set the Nimbus look and feel */
/* Create and display the dialog */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
dialogoFecha dialog = new dialogoFecha(new javax.swing.JFrame(), true);
dialog.addWindowListener(new java.awt.event.WindowAdapter() {
@Override
public void windowClosing(java.awt.event.WindowEvent e) {
System.exit(0);
}
});
dialog.setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton btnAceptar;
private javax.swing.JButton btnCancelar;
private javax.swing.JTextField txtAño;
private javax.swing.JTextField txtDia;
private javax.swing.JTextField txtMes;
// End of variables declaration
}
Realizamos el formulario para "ventanaprincipal"
con los nombres que se muestran en la parte izquierda de la imagen
ingresar el siguiente código en el otro JFrame:
package paqueteprincipal;
public class ventanprincipal extends javax.swing.JFrame {
dialogoFecha nacimiento;
public ventanprincipal() {
initComponents();
nacimiento=new dialogoFecha(null,true);
}
/**
*/
@SuppressWarnings("unchecked")
private void btnFechadeNaciemientoActionPerformed(java.awt.event.ActionEvent evt) {
nacimiento.setVisible(true);
if(nacimiento.getbotonpulsado()==0){
etiFechadeNaciemiento.setText(nacimiento.getFecha());
itefechaN.setText(nacimiento.getFechaCompleta());
}else{
etiFechadeNaciemiento.setText("");
itefechaN.setText("");
}
// TODO add your handling code here:
}
public static void main(String args[]) {
/* Set the Nimbus look and feel */
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new ventanprincipal().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton btnFechadeNaciemiento;
private javax.swing.JLabel etiFechadeNaciemiento;
private javax.swing.JLabel itefechaN;
// End of variables declaration
}
Al ejecutar el programa nos mostrara lo siguiente:
Click en el boton Introducir fecha de Nacimiento
Ingresamos la fecha que deseamos
la cual se mostrara en formato largo de la siguiente forma
Creamos un proyecto Multicine
paquete de nombre " paqueteprincipal"
donde creare una clase SalaCine y un JFrame "ventanaprincipal" como vemos resaltado en la imagen
package paqueteprincipal;
public class SalaCine {
//propiedades
int Aforo;
int Ocupadas;
String Pelicula;
double Entrada;
public SalaCine(){
Aforo = 100;
Ocupadas = 0;
Pelicula = "";
Entrada = 5.0;
}
//Métodos set
//Método setAforo
public void setAforo(int afo) {
Aforo = afo;
}
//Método setOcupadas
public void setOcupadas(int ocu) {
Ocupadas = ocu;
}
//Método setPelicula
public void setPelicula(String peli) {
Pelicula = peli;
}
//Método setEntrada
public void setEntrada(double entra) {
Entrada = entra;
}
//Método setLibres
public void setLibres(int lib) {
int ocu;
ocu = Aforo - lib;
Ocupadas = ocu;
}
//Métodos get
//Método getAforo
public int getAforo() {
return Aforo;
}
//Método getOcupadas
public int getOcupadas() {
return Ocupadas;
}
//Método getPelicula
public String getPelicula() {
return Pelicula;
}
//Método getEntrada
public double getEntrada() {
return Entrada;
}
//Método getLibres
public int getLibres() {
int lib ;
lib = Aforo - Ocupadas ;
return lib;
}
//Método getPorcentaje
public double getPorcentaje() {
double por;
por = (double) Ocupadas / (double) Aforo * 100.0;
return por;
}
//Método getIngresos
public double getIngresos() {
double ingre;
ingre = Ocupadas * Entrada;
return ingre;
}
//Métodos de orden
//Método Vaciar
public void Vaciar() {
Ocupadas = 0;
Pelicula = "";
}
//Método entraUno
public void entraUno() {
Ocupadas++;
}
}
Realizamos el formulario para "ventanaprincipal"
con los nombres que se muestran en la parte izquierda de la imagen
ingresar el siguiente código en el JFrame:
package paqueteprincipal;
import javax.swing.JOptionPane;
public class ventanaprincipal extends javax.swing.JFrame {
SalaCine central;
SalaCine vo;
public ventanaprincipal() {
initComponents();
central =new SalaCine();
vo=new SalaCine();
central.setAforo(500);
central.setEntrada(8.0);
vo.setAforo(80);
vo.setEntrada(6.0);
}
@SuppressWarnings("unchecked")
private void btnCentralCambiarActionPerformed(java.awt.event.ActionEvent evt) {
String titulo;
titulo= JOptionPane.showInputDialog(null, "Introduce el titulo de la pelicula :" );
central.setPelicula(titulo);
etiCentralPelicula.setText(titulo);
// TODO add your handling code here:
}
private void btnCentralNuevaActionPerformed(java.awt.event.ActionEvent evt) {
central.entraUno();
}
private void btnCentralOcupacionActionPerformed(java.awt.event.ActionEvent evt) {
String info;
info="Sala Central \n ";
info = info + "Pelicula:" + central.getPelicula()+" \n";
info = info + "Aforo:" + central.getAforo()+" \n";
info = info + "Ocupadas:" + central.getOcupadas()+" \n";
info = info + "Libres:" + central.getLibres()+" \n";
info = info + "Porcentaje ocupacion:" + central.getPorcentaje()+" \n";
JOptionPane.showMessageDialog(null,info);
// TODO add your handling code here:
}
private void btnOriginalNuevaActionPerformed(java.awt.event.ActionEvent evt) {
vo.entraUno();
// TODO add your handling code here:
}
private void btnCentralVaciarActionPerformed(java.awt.event.ActionEvent evt) {
central.Vaciar();
etiCentralPelicula.setText("");
// TODO add your handling code here:
}
private void btnCentralIngresosActionPerformed(java.awt.event.ActionEvent evt) {
String info;
info=" Ingresos de la sala:" + central.getIngresos()+"euros";
JOptionPane.showMessageDialog(null,info);
// TODO add your handling code here:
}
private void btnOriginalOcupacionActionPerformed(java.awt.event.ActionEvent evt) {
String info;
info="Sala Central \n ";
info = info + "Pelicula:" + vo.getPelicula()+" \n";
info = info + "Aforo:" + vo.getAforo()+" \n";
info = info + "Ocupadas:" + vo.getOcupadas()+" \n";
info = info + "Libres:" + vo.getLibres()+" \n";
info = info + "Porcentaje ocupacion:" + vo.getPorcentaje()+" \n";
JOptionPane.showMessageDialog(null,info);
// TODO add your handling code here:
}
private void btnOriginalVaciarActionPerformed(java.awt.event.ActionEvent evt) {
vo.Vaciar();
etiOriginalPelicula.setText("");
// TODO add your handling code here:
}
private void btnOriginalIngresosActionPerformed(java.awt.event.ActionEvent evt) {
String info;
info=" Ingresos de la sala:" + vo.getIngresos()+ "euros";
JOptionPane.showMessageDialog(null,info);
// TODO add your handling code here:
}
private void btnOrignalCambiarActionPerformed(java.awt.event.ActionEvent evt) {
String titulo;
titulo= JOptionPane.showInputDialog(null, "Introduce el titulo de la pelicula :" );
vo.setPelicula(titulo);
etiOriginalPelicula.setText(titulo);
// TODO add your handling code here:
}
private void jButton11ActionPerformed(java.awt.event.ActionEvent evt) {
int total;
total = (int) (central.getIngresos() + vo.getIngresos());
JOptionPane.showMessageDialog(null,total);
// TODO add your handling code here:
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new ventanaprincipal().setVisible(true);
}
});
}
Al ejecutar el programa nos mostrara lo siguiente:
Click en el boton ocupacion
Y el botón ingreso total mostrara la suma del ingreso de los dos paneles
ELEMENTOS DE LA PROGRAMACION ORIENTADA A OBJETOS EN NETBEANS
Introducción a la programación orientada a objetos
Es una nueva forma de entender la creación de programas .esta filosofía de programación se basa en el concepto de objetos.
Objeto
Se define como un elemento que tiene unas propiedades y métodos.
Posee unas características:
Þ Ancho
Þ Alto
Þ Color, etc...
A las características de un objeto se les llama propiedades. Un objeto es un elemento “inteligente”. A un objeto se le puede dar órdenes y el obedecerá. A estas órdenes se les llama métodos. Con los métodos podemos cambiar las características del objeto, pedirle información, o hacer que el objeto reaccione de alguna forma.
Ejemplo:
Podemos cambiar el color de fondo del cuadro de texto txtCuadro usando el método llamado setBackground.
txtCuadro.setBackground(Color.RED);
Otros métodos que permiten cambiar las propiedades del objeto txtCuadro son:
· setVisible - permite poner visible / invisible el cuadro de texto.
· setEnabled - permite activar / desactivar el cuadro de texto
· setEditable - permite hacer que se pueda escriba o no en el cuadro de texto
· setText - permite introducir un texto en el cuadro de texto
· setBounds - permite cambiar el tamaño y posición del objeto
· setToolTipText -permite asociar un texto de ayuda al cuadro de texto
Un objeto nos da información sobre él. Para pedirle información a un objeto usaremos métodos del tipo get.
Ejemplo:
Para pedirle al cuadro de texto el texto que contiene, usaremos el métodogetText.
String cadena = txtCuadro.getText();
Otros métodos que le piden información al cuadro de texto son:
· getWidth - te dice la anchura que tiene el cuadro de texto
· getHeight - te dice el alto que tiene el cuadro de texto
· getselectedText - te devuelve el texto que esta seleccionado dentro del cuadro de texto
· getToolTipText - te dice el texto de ayuda que tiene asociado al cuadro de texto
También se le puede dar al objeto simplemente órdenes para que haga algo.
Ejemplo:
Podemos ordenar al cuadro de texto txtCuadro que seleccione todo el texto que contiene en su interior a través del método selectAll.
txtCuadro.selectAll();
Otros métodos que ordenan al cuadro de texto son:
· repaint - le ordena al cuadro de texto que se vuelva a pintar
· copy - le ordena al cuadro de texto que copie el texto que tenga seleccionado
· cut - le ordena al cuadro de texto que corte el texto que tenga seleccionado
· paste - le ordena al cuadro que pegue el texto que se hubiera copiado
Herencia
Consiste en crear una nueva clase a partir de otra. La nueva clase es una mejora de la anterior. Es decir una especialización de la primera clase.
La herencia consiste en tomar una clase inicial y apartir de ella crear otra clase que posea las mismas propiedades y métodos que la clase inicial, además de unas nuevas propiedades y método que la clase inicial no poseía. La nueva clase creada, puede incluso redefinir métodos de la clase inicial. La clase inicial se denomina Clase Base, la clase creada a partir dela clase base se denomina Clase Derivada. La herencia es unan técnica muy útil que nos permite reutilizar los códigos, es decir que nos permite usar de nuevo lo que ya teníamos programado añadiendo simplemente algunos cambios adecuar el código al proyecto actual.
como podemos observar el el ejemplo muestra la funcionalidad de la programación Orientada a Objetos.
Ø Herencia Simple: Es en el caso en el cual una clase solo tiene un ancestro directo. Gráficamente significa que de la clase descendiente solo sale una línea que representa la herencia hacia su clase ancestro
Ø Herencia múltiple: Clases que poseen más de un ancestro directo. Gráficamente más de una línea de herencia sale de un descendiente hacia sus respectivos ancestros.
Polimorfismo
Nos permite programar en forma general, en lugar de hacerlo en forma específica. En general nos sirve para programar objetos con características comunes y que todos estos compartan la misma superclase en una dicha jerarquía de clase, como si todas fueran objetos de la superclase
Programación SDI y programación MDI
Toda programación tiene su interfaz gráfica de usuario (gui) la cual permite a este manejar el programa de forma sencilla. La interfaz gráfica de usuario consta de la ventana principal, cuadros de dialogo, botones, cuadros de texto. Según el tipo de interfaz:
Þ Aplicación SDI
Þ Aplicación MDI
Aplicación SDI (Single Document Interfaca)
Interfaz de documento único. Quiere decir que las aplicaciones SDI solo pueden mostrar el contenido de un documento a la vez. Ejemplo, es el bloc de notas de Windows. Si en el bloc de notas quieres escribir un nuevo documento, tienes que cerrar antes el documento con el que estas trabajando, ya que este programa no admite el manipular varios escritorios a la vez.
Aplicación MDI (Multiple Document Interfaca)
Interfaz de múltiples documentos, quiere decir que las aplicaciones MDI pueden mostrar varios documentos a la vez. Ejemplo práctico es el programa de retoque Photoshop. En él, el usuario puede abrir varias fotos y trabajar con todas ellas. Las aplicaciones MDI normalmente constan de una ventana principal, la cual puede contener otras ventanas interiores.
JTable
Permite crear objetos con forma de tabla. Estos objetos son ideales para mostrar el contenido de las tablas de una base de datos, aunque pueden ser usados de forma independiente también para mostrar cualquier tipo de datos. Los objetos JTable contienen un modelo de datos de tipo DefaultTableModel.Cada vez que se quiera trabajar con una tabla será necesario construir un modelo y asignárselo a la tabla.
Barras de herramientas
Es básicamente un contenedor de botones y otros elementos propios de la ventana. Atraves de estos botones se pueden activar de forma rápida las opciones del programa, las cuales suelen estar también incluidas dentro de la barra de menús.