¿Tienes una cuenta? identificate: Usuario Contraseña o puedes obtener una gratis.

[ Escribo sobre... ]

Manual Java 3ra. parte

mié 06 de abril, 2005 - 16:50

Estado de ánimo: X
Seguridad de entrada: PUBLICO

PanelIzq.add(PanelDNI);
PanelIzq.add(PanelNombre);
PanelIzq.add(PanelRFC);
PanelIzq.add(PanelDIR);
PanelIzq.add(PanelTEL);
PanelIzq.add(PanelCiudad);
PanelIzq.add(PanelCP);

PPanelIzq.add(PPanelDNI);
PPanelIzq.add(PPanelNombre);
PPanelIzq.add(PPanelRFC);
PPanelIzq.add(PPanelDIR);
PPanelIzq.add(PPanelTEL);
PPanelIzq.add(PPanelCiudad);
PPanelIzq.add(PPanelCP);

PRPanelIzq.add(PRPanelDNI);
PRPanelIzq.add(PRPanelNombre);
PRPanelIzq.add(PRPanelDes);
PRPanelIzq.add(PRPanelUnidad);
PRPanelIzq.add(PRPanelFing);
PRPanelIzq.add(PRPanelCmin);
PRPanelIzq.add(PRPanelCmax);
PRPanelIzq.add(PRPanelExistencia);
PRPanelIzq.add(PRPanelPprod);
PRPanelIzq.add(PRPanelPvta);

VtaPanelIzq.add(VtaPanelDNI);
VtaPanelIzq.add(VtaPanelNombre);

VtaPanelIzq.add(VtaPanelDes);
VtaPanelIzq.add(VtaPanelPrecio);
VtaPanelIzq.add(VtaPanelCant);
VtaPanelIzq.add(VtaPanelSub);
VtaPanelIzq.add(VtaPanelTotal);

PanelReloj.add(etiqReloj);
PanelReloj2.add(txt1);

PanelHora.add(PanelReloj);
PanelHora.add(PanelReloj2);
PanelHora.add(SalirSistema);

MiPanel.add(PanelHora);
MiPanel.add(Panel1);
MiPanel.add(Panel2);
MiPanel.add(Panel3);
MiPanel.add(Panel4);
MiPanel.add(Panel5);

PanelIzq.add(PanelAccion);
PanelIzq.add(PanelControles);

PPanelIzq.add(PPanelAccion);
PPanelIzq.add(PPanelControles);

PRPanelIzq.add(PRPanelAccion);
PRPanelIzq.add(PRPanelControles);

VtaPanelIzq.add(VtaPanelAccion);
VtaPanelIzq.add(VtaPanelControles);

MiPanel2.add(PanelIzq);
MiPanel2.add(PanelTabla);

MiPanel3.add(PPanelIzq);
MiPanel3.add(PPanelTabla);

MiPanel4.add(PRPanelIzq);
MiPanel4.add(PRPanelTabla);

MiPanel5.add(VtaPanelIzq);
MiPanel5.add(PanelVentas);

PanelDNI.add(EtiquetaNum);PanelDNI.add(CampoNum_Cli);
PanelNombre.add(EtiquetaNombre);PanelNombre.add(CampoNom_Cli);
PanelRFC.add(EtiquetaRFC);PanelRFC.add(CampoRFC_Cli);
PanelDIR.add(EtiquetaDIR);PanelDIR.add(CampoDir_Cli);
PanelTEL.add(EtiquetaTEL);PanelTEL.add(CampoTel_Cli); PanelCiudad.add(EtiquetaCiudad);PanelCiudad.add(CampoCd_Cli); PanelCP.add(EtiquetaCP);PanelCP.add(CampoCP_Cli);

PPanelDNI.add(EtiquetaPNum);PPanelDNI.add(CampoNum_Prov); PPanelNombre.add(EtiquetaPNombre);PPanelNombre.add(CampoNom_Prov); PPanelRFC.add(EtiquetaPRFC);PPanelRFC.add(CampoRFC_Prov); PPanelDIR.add(EtiquetaPDIR);PPanelDIR.add(CampoDir_Prov); PPanelTEL.add(EtiquetaPTEL);PPanelTEL.add(CampoTel_Prov); PPanelCiudad.add(EtiquetaPCiudad);PPanelCiudad.add(CampoCd_Prov); PPanelCP.add(EtiquetaPCP);PPanelCP.add(CampoCP_Prov);

PRPanelDNI.add(EtiquetaNum_Prod);PRPanelDNI.add(CampoNum_Prod); PRPanelNombre.add(EtiquetaNom_Prod);PRPanelNombre.add(CampoNom_Prod); PRPanelDes.add(EtiquetaDescripcion);PRPanelDes.add(CampoDescripcion); PRPanelUnidad.add(EtiquetaUnidad);PRPanelUnidad.add(CampoUnidad); PRPanelFing.add(EtiquetaFecha_ingreso);PRPanelFing.add(CampoFecha_ingreso); PRPanelCmin.add(EtiquetaCan_min);PRPanelCmin.add(CampoCan_min);

PRPanelCmax.add(EtiquetaCan_max);PRPanelCmax.add(CampoCan_max); PRPanelExistencia.add(EtiquetaExistencia);PRPanelExistencia.add(CampoExistencia); PRPanelPprod.add(EtiquetaPrecio_Prod);PRPanelPprod.add(CampoPrecio_Prod); PRPanelPvta.add(EtiquetaPrecio_Vta);PRPanelPvta.add(CampoPrecio_Vta);

VtaPanelDNI.add(EtiquetaNum_ProdVta); VtaPanelDNI.add(NumeroProducto);
VtaPanelNombre.add(EtiquetaNom_ProdVta); VtaPanelNombre.add(NombreProducto);
VtaPanelDes.add(EtiquetaDescripcion); VtaPanelDes.add(Descrip);
VtaPanelPrecio.add(EtiquetaPrecio); VtaPanelPrecio.add(Precio);
VtaPanelCant.add(EtiquetaCant); VtaPanelCant.add(Cant);
VtaPanelSub.add(EtiquetaSub); VtaPanelSub.add(Subtotal);
VtaPanelTotal.add(EtiquetaTotal); VtaPanelTotal.add(Total);

PanelAccion.add(BotonConsultar); PanelAccion.add(BotonModificar); PanelAccion.add(BotonInsertar); PanelAccion.add(BotonBorrar); PanelAccion.add(BotonListar); PanelControles.add(BotonPrimero); PanelControles.add(BotonMenosCinco); PanelControles.add(BotonAnterior); PanelControles.add(BotonSiguiente); PanelControles.add(BotonMasCinco); PanelControles.add(BotonUltimo);

PPanelAccion.add(BotonPConsultar); PPanelAccion.add(BotonPModificar); PPanelAccion.add(BotonPInsertar); PPanelAccion.add(BotonPBorrar);

PPanelAccion.add(BotonPListar); PPanelControles.add(BotonPPrimero); PPanelControles.add(BotonPMenosCinco); PPanelControles.add(BotonPAnterior); PPanelControles.add(BotonPSiguiente); PPanelControles.add(BotonPMasCinco); PPanelControles.add(BotonPUltimo);

PRPanelAccion.add(BotonPRConsultar); PRPanelAccion.add(BotonPRModificar); PRPanelAccion.add(BotonPRInsertar); PRPanelAccion.add(BotonPRBorrar); PRPanelAccion.add(BotonPRListar); PRPanelControles.add(BotonPRPrimero); PRPanelControles.add(BotonPRMenosCinco); PRPanelControles.add(BotonPRAnterior); PRPanelControles.add(BotonPRSiguiente); PRPanelControles.add(BotonPRMasCinco); PRPanelControles.add(BotonPRUltimo);

VtaPanelAccion.add(BotonBuscar); VtaPanelControles.add(BotonAgregar);

SalirSistema.addActionListener(new Salir()); BotonConsultar.addActionListener(new ConsultarDatos()); BotonModificar.addActionListener(new ModificarDatos()); BotonInsertar.addActionListener(new InsertarDatos()); BotonBorrar.addActionListener(new BorrarDatos()); BotonListar.addActionListener(new ListarDatos());

BotonPrimero.addActionListener(new Controles()); BotonMenosCinco.addActionListener(new Controles()); BotonAnterior.addActionListener(new Controles()); BotonSiguiente.addActionListener(new Controles()); BotonMasCinco.addActionListener(new Controles()); BotonUltimo.addActionListener(new Controles());

BotonPConsultar.addActionListener(new PConsultarDatos()); BotonPModificar.addActionListener(new PModificarDatos()); BotonPInsertar.addActionListener(new PInsertarDatos()); BotonPBorrar.addActionListener(new PBorrarDatos()); BotonPListar.addActionListener(new PListarDatos());

BotonPPrimero.addActionListener(new PControles()); BotonPMenosCinco.addActionListener(new PControles()); BotonPAnterior.addActionListener(new PControles()); BotonPSiguiente.addActionListener(new PControles()); BotonPMasCinco.addActionListener(new PControles()); BotonPUltimo.addActionListener(new PControles());

BotonPRConsultar.addActionListener(new PRConsultarDatos());

BotonPRModificar.addActionListener(new PRModificarDatos()); BotonPRInsertar.addActionListener(new PRInsertarDatos()); BotonPRBorrar.addActionListener(new PRBorrarDatos()); BotonPRListar.addActionListener(new PRListarDatos());

BotonPRPrimero.addActionListener(new PRControles()); BotonPRMenosCinco.addActionListener(new PRControles()); BotonPRAnterior.addActionListener(new PRControles()); BotonPRSiguiente.addActionListener(new PRControles()); BotonPRMasCinco.addActionListener(new PRControles()); BotonPRUltimo.addActionListener(new PRControles());

BotonVenta.addActionListener(new Ventas()); BotonVarios.addActionListener(new VariosPC());

BotonBuscar.addActionListener(new Buscar()); //BotonAgregar.addActionListener(new Agregar()); Cant.addActionListener(new Operar());

NombreProducto.setEnabled(false); Descrip.setEnabled(false); Precio.setEnabled(false); Subtotal.setEnabled(false); Total.setEnabled(false);

int x,y; formatter = new SimpleDateFormat (“hh:mm:ss”,Locale.getDefault()); currentDate = new Date(); lastdate = formatter.format(currentDate); lastdate2 = formatter.format(currentDate); lastdate3 = formatter.format(currentDate);

timer = new Thread(this); timer.start();

Formulario = new JFrame(“Base de Datos ADSIJEL (CLIENTES): “); Formulario.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0);}}); Formulario.setBackground(Color.lightGray); Formulario.getContentPane().add(MiPanel); Formulario.setBounds(5, 0, 400, 330);

Formulario2 = new JFrame(“Base de Datos ADSIJEL (CLIENTES): “); Formulario2.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { Formulario.setVisible(true);}}); Formulario2.setBackground(Color.lightGray); Formulario2.getContentPane().add(MiPanel2); Formulario2.setBounds(50, 250, 490, 230);

Formulario3 = new JFrame(“Base de Datos ADSIJEL (CLIENTES): “); Formulario3.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { Formulario.setVisible(true); }}); Formulario3.setBackground(Color.lightGray); Formulario3.getContentPane().add(MiPanel3); Formulario3.setBounds(50, 250, 490, 230);

Formulario4 = new JFrame(“Base de Datos ADSIJEL (PRODUCTOS): “); Formulario4.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) {

Formulario.setVisible(true); }}); Formulario4.setBackground(Color.lightGray); Formulario4.getContentPane().add(MiPanel4); Formulario4.setBounds(50, 250, 490, 230);

Formulario5 = new JFrame(“Base de Datos ADSIJEL ==> UNION: (CLIENTES / PROVEEDORES): “); Formulario5.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { Formulario.setVisible(true); }}); Formulario5.setBackground(Color.lightGray); Formulario5.getContentPane().add(PanelTablaVarios);

Formulario6 = new JFrame(“Base de Datos ADSIJEL ==> UNION: (CLIENTES / PROVEEDORES): “); Formulario6.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { Formulario.setVisible(true); }}); Formulario6.setBackground(Color.lightGray); Formulario6.getContentPane().add(MiPanel5);

FormPrincipal = new JFrame(“PAPELERIA JELANSA ‘’ A D S I J E L ‘’”); FormPrincipal.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) {System.exit(0);}}); FormPrincipal.setBackground(Color.lightGray); FormPrincipal.getContentPane().add(MiPanelPrincipal); Desbloquear(); if(band=true) { Formulario.pack(); Formulario.setVisible(true); } } private class ConsultarDatos implements ActionListener{ public void actionPerformed (ActionEvent Evento){ ObConsulta InstanciaConsulta=new ObConsulta (CampoNum_Cli.getText()); PosicionBuscada=InstanciaConsulta.PosicionEncontrada(); if(PosicionBuscada!=0){ ObRegistro InstanciaFila=InstanciaConsulta.DameDatos(); CampoNum_Cli.setText(InstanciaFila.DameNum()); CampoNom_Cli.setText(InstanciaFila.DameNombre()); CampoRFC_Cli.setText(InstanciaFila.DameRFC()); CampoDir_Cli.setText(InstanciaFila.DameDIR()); CampoTel_Cli.setText(InstanciaFila.DameTEL()); CampoCd_Cli.setText(InstanciaFila.DameCiudad()); CampoCP_Cli.setText(InstanciaFila.DameCP()); }else{ CampoNom_Cli.setText(”——-”); CampoRFC_Cli.setText(”——-”); CampoDir_Cli.setText(”——-”); CampoTel_Cli.setText(”——-”); CampoCd_Cli.setText(”——-”); CampoCP_Cli.setText(”——-”); } } }

private class InsertarDatos implements ActionListener{ public void actionPerformed(ActionEvent Evento){ try{ ObRegistro InstanciaFila=new ObRegistro (CampoNum_Cli.getText(),CampoNom_Cli.getText(),CampoRFC_Cli.getText(),CampoDir_Cli.getText(),CampoTel_Cli.getText(),CampoCd_Cli.getText(),CampoCP_Cli.getText()); ObInsercion InstanciaInsercion=new ObInsercion(InstanciaFila); CampoNum_Cli.setText(”“); CampoNom_Cli.setText(”“); CampoRFC_Cli.setText(”“); CampoDir_Cli.setText(”“); CampoTel_Cli.setText(”“); CampoCd_Cli.setText(”“); CampoCP_Cli.setText(”“);; PosicionBuscada=1; } catch(Exception e){ System.out.println(“Llena todos los registros…!”); } } } private class ModificarDatos implements ActionListener{ public void actionPerformed(ActionEvent Evento){ ObConsulta InstanciaConsulta=new ObConsulta(CampoNum_Cli.getText()); PosicionBuscada=InstanciaConsulta.PosicionEncontrada(); if(PosicionBuscada!=0){ ObRegistro InstanciaFila=new ObRegistro (CampoNum_Cli.getText(),CampoNom_Cli.getText(),CampoRFC_Cli.getText(),CampoDir_Cli.getText(),CampoTel_Cli.getText(),CampoCd_Cli.getText(),CampoCP_Cli.getText());

ObModificacion InstanciaModificacion=new ObModificacion(PosicionBuscada,InstanciaFila); CampoNum_Cli.setText(”“); CampoNom_Cli.setText(”“); CampoRFC_Cli.setText(”“); CampoDir_Cli.setText(”“);

CampoTel_Cli.setText(”“); CampoCd_Cli.setText(”“); CampoCP_Cli.setText(”“); }else{ CampoNom_Cli.setText(”——-”); CampoRFC_Cli.setText(”——-”); CampoDir_Cli.setText(”——-”); CampoTel_Cli.setText(”——-”); CampoCd_Cli.setText(”——-”); CampoCP_Cli.setText(”——-”); } } } private class BorrarDatos implements ActionListener{ public void actionPerformed(ActionEvent Evento){ ObConsulta InstanciaConsulta=new ObConsulta(CampoNum_Cli.getText()); PosicionBuscada=InstanciaConsulta.PosicionEncontrada();

if(PosicionBuscada!=0){ ObBorrado InstanciaBorrado=new ObBorrado(PosicionBuscada);

CampoNum_Cli.setText(”“); CampoNom_Cli.setText(”“); CampoRFC_Cli.setText(”“); CampoDir_Cli.setText(”“); CampoTel_Cli.setText(”“); CampoCd_Cli.setText(”“); CampoCP_Cli.setText(”“); }else{ CampoNom_Cli.setText(”——-”); CampoRFC_Cli.setText(”——-”); CampoDir_Cli.setText(”——-”); CampoTel_Cli.setText(”——-”); CampoCd_Cli.setText(”——-”); CampoCP_Cli.setText(”——-”); } } } private class ListarDatos implements ActionListener{ public void actionPerformed(ActionEvent Evento){ connect(); fetch(); } } private class Controles implements ActionListener{ public void actionPerformed(ActionEvent Evento){ Button Pulsado=(Button) Evento.getSource(); String Identificador=Pulsado.getName(); ObPosicionamiento InstanciaPosicionamiento =new ObPosicionamiento(Identificador, PosicionBuscada); ObRegistro InstanciaFila= InstanciaPosicionamiento.DameDatos(); CampoNum_Cli.setText(InstanciaFila.DameNum()); CampoNom_Cli.setText(InstanciaFila.DameNombre()); CampoRFC_Cli.setText(InstanciaFila.DameRFC());

CampoDir_Cli.setText(InstanciaFila.DameDIR()); CampoTel_Cli.setText(InstanciaFila.DameTEL()); CampoCd_Cli.setText(InstanciaFila.DameCiudad()); CampoCP_Cli.setText(InstanciaFila.DameCP()); PosicionBuscada=InstanciaPosicionamiento.Posicion(); } }

private class VariosPC implements ActionListener{ public void actionPerformed(ActionEvent Evento){ Formulario5.pack(); Formulario5.setVisible(true); Formulario5.setBounds(50, 250, 470, 450); connectVarios(); fetchVarios(); } }

private class PConsultarDatos implements ActionListener{ public void actionPerformed (ActionEvent Evento){ PObConsulta InstanciaConsulta=new PObConsulta (CampoNum_Prov.getText()); PPosicionBuscada=InstanciaConsulta.PosicionEncontrada();

if(PPosicionBuscada!=0){ PObRegistro InstanciaFila=InstanciaConsulta.DameDatos();

CampoNum_Prov.setText(InstanciaFila.DameNum()); CampoNom_Prov.setText(InstanciaFila.DameNombre()); CampoRFC_Prov.setText(InstanciaFila.DameRFC()); CampoDir_Prov.setText(InstanciaFila.DameDIR()); CampoTel_Prov.setText(InstanciaFila.DameTEL()); CampoCd_Prov.setText(InstanciaFila.DameCiudad()); CampoCP_Prov.setText(InstanciaFila.DameCP()); }else{ CampoNom_Prov.setText(”——-”); CampoRFC_Prov.setText(”——-”); CampoDir_Prov.setText(”——-”); CampoTel_Prov.setText(”——-”); CampoCd_Prov.setText(”——-”); CampoCP_Prov.setText(”——-”); } } } private class PInsertarDatos implements ActionListener{ public void actionPerformed(ActionEvent Evento){
try{ PObRegistro InstanciaFila=new PObRegistro (CampoNum_Prov.getText(),CampoNom_Prov.getText(),CampoRFC_Prov.getText(),CampoDir_Prov.getText(),CampoTel_Prov.getText(),CampoCd_Prov.getText(),CampoCP_Prov.getText()); PObInsercion InstanciaInsercion=new PObInsercion(InstanciaFila); CampoNum_Prov.setText(”“); CampoNom_Prov.setText(”“); CampoRFC_Prov.setText(”“); CampoDir_Prov.setText(”“); CampoTel_Prov.setText(”“); CampoCd_Prov.setText(”“); CampoCP_Prov.setText(”“);; PPosicionBuscada=1; } catch(Exception e){ System.out.println(“Llena todos los registros…!”); } } } private class PModificarDatos implements ActionListener{ public void actionPerformed(ActionEvent Evento){ PObConsulta InstanciaConsulta=new PObConsulta(CampoNum_Prov.getText()); PPosicionBuscada=InstanciaConsulta.PosicionEncontrada(); if(PPosicionBuscada!=0){ PObRegistro InstanciaFila=new PObRegistro (CampoNum_Prov.getText(),CampoNom_Prov.getText(),CampoRFC_Prov.getText(),CampoDir_Prov.getText(),CampoTel_Prov.getText(),CampoCd_Prov.getText(),CampoCP_Prov.getText()); PObModificacion InstanciaModificacion=new PObModificacion(PPosicionBuscada,InstanciaFila); CampoNum_Prov.setText(”“); CampoNom_Prov.setText(”“); CampoRFC_Prov.setText(”“); CampoDir_Prov.setText(”“); CampoTel_Prov.setText(”“); CampoCd_Prov.setText(”“); CampoCP_Prov.setText(”“); }else{ CampoNom_Cli.setText(”——-”); CampoRFC_Cli.setText(”——-”); CampoDir_Cli.setText(”——-”); CampoTel_Cli.setText(”——-”); CampoCd_Cli.setText(”——-”); CampoCP_Cli.setText(”——-”); } } } private class PBorrarDatos implements ActionListener{ public void actionPerformed(ActionEvent Evento){ PObConsulta InstanciaConsulta=new PObConsulta(CampoNum_Prov.getText()); PPosicionBuscada=InstanciaConsulta.PosicionEncontrada();

if(PPosicionBuscada!=0){ PObBorrado InstanciaBorrado=new PObBorrado(PPosicionBuscada); CampoNum_Prov.setText(”“); CampoNom_Prov.setText(”“); CampoRFC_Prov.setText(”“); CampoDir_Prov.setText(”“); CampoTel_Prov.setText(”“); CampoCd_Prov.setText(”“);

CampoCP_Prov.setText(”“); }else{ CampoNom_Prov.setText(”——-”); CampoRFC_Prov.setText(”——-”); CampoDir_Prov.setText(”——-”); CampoTel_Prov.setText(”——-”); CampoCd_Prov.setText(”——-”); CampoCP_Prov.setText(”——-”); }

} } private class PListarDatos implements ActionListener{ public void actionPerformed(ActionEvent Evento){ Pconnect(); Pfetch(); } } private class PControles implements ActionListener{ public void actionPerformed(ActionEvent Evento){ Button Pulsado=(Button) Evento.getSource(); String Identificador=Pulsado.getName(); PObPosicionamiento InstanciaPosicionamiento =new PObPosicionamiento(Identificador, PPosicionBuscada); PObRegistro InstanciaFila= InstanciaPosicionamiento.DameDatos(); CampoNum_Cli.setText(InstanciaFila.DameNum()); CampoNom_Cli.setText(InstanciaFila.DameNombre()); CampoRFC_Cli.setText(InstanciaFila.DameRFC()); CampoDir_Cli.setText(InstanciaFila.DameDIR()); CampoTel_Cli.setText(InstanciaFila.DameTEL()); CampoCd_Cli.setText(InstanciaFila.DameCiudad()); CampoCP_Cli.setText(InstanciaFila.DameCP()); PPosicionBuscada=InstanciaPosicionamiento.Posicion(); } }

private class PRConsultarDatos implements ActionListener{ public void actionPerformed (ActionEvent Evento){ PRObConsulta InstanciaConsulta=new PRObConsulta (CampoNum_Prod.getText()); PRPosicionBuscada=InstanciaConsulta.PosicionEncontrada();

if(PRPosicionBuscada!=0){ PRObRegistro InstanciaFila=InstanciaConsulta.DameDatos(); CampoNum_Prod.setText(InstanciaFila.DameNum()); CampoNom_Prod.setText(InstanciaFila.DameNombre()); CampoDescripcion.setText(InstanciaFila.DameDesc()); CampoUnidad.setText(InstanciaFila.DameUnidad()); CampoFecha_ingreso.setText(InstanciaFila.DameFing()); CampoCan_min.setText(InstanciaFila.DameCmin()); CampoCan_max.setText(InstanciaFila.DameCmax());

CampoExistencia.setText(InstanciaFila.DameExistencia()); CampoPrecio_Prod.setText(InstanciaFila.DamePprod()); CampoPrecio_Vta.setText(InstanciaFila.DamePvta()); }else{ CampoNom_Prod.setText(”——-”); CampoDescripcion.setText(”——-”); CampoUnidad.setText(”——-”);

CampoFecha_ingreso.setText(”——-”); CampoCan_min.setText(”——-”); CampoCan_max.setText(”——-”); CampoExistencia.setText(”——-”); CampoPrecio_Prod.setText(”——-”); CampoPrecio_Vta.setText(”——-”); } } } private class PRInsertarDatos implements ActionListener{ public void actionPerformed(ActionEvent Evento){
try{ PRObRegistro InstanciaFila=new PRObRegistro (CampoNum_Prod.getText(),CampoNom_Prod.getText(),CampoDescripcion.getText(), CampoUnidad.getText(),CampoFecha_ingreso.getText(),CampoCan_min.getText(),CampoCan_max.getText(), CampoExistencia.getText(),CampoPrecio_Prod.getText(),CampoPrecio_Vta.getText()); PRObInsercion InstanciaInsercion=new PRObInsercion(InstanciaFila); CampoNom_Prod.setText(”“); CampoDescripcion.setText(”“); CampoUnidad.setText(”“); CampoFecha_ingreso.setText(”“); CampoCan_min.setText(”“); CampoCan_max.setText(”“); CampoExistencia.setText(”“); CampoPrecio_Prod.setText(”“); CampoPrecio_Vta.setText(”“); PRPosicionBuscada=1; }

catch(Exception e){ System.out.println(“Llena todos los registros…!”); } } } private class PRModificarDatos implements ActionListener{ public void actionPerformed(ActionEvent Evento){ PRObConsulta InstanciaConsulta=new PRObConsulta(CampoNum_Prod.getText()); PRPosicionBuscada=InstanciaConsulta.PosicionEncontrada(); if(PRPosicionBuscada!=0){ PRObRegistro InstanciaFila=new PRObRegistro (CampoNum_Prod.getText(),CampoNom_Prod.getText(),CampoDescripcion.getText(), CampoUnidad.getText(),CampoFecha_ingreso.getText(),CampoCan_min.getText(),CampoCan_max.getText(), CampoExistencia.getText(),CampoPrecio_Prod.getText(),CampoPrecio_Vta.getText());

PRObModificacion InstanciaModificacion=new PRObModificacion(PRPosicionBuscada,InstanciaFila);

CampoNum_Prod.setText(”“); CampoNom_Prod.setText(”“); CampoDescripcion.setText(”“); CampoUnidad.setText(”“); CampoFecha_ingreso.setText(”“); CampoCan_min.setText(”“); CampoCan_max.setText(”“); CampoExistencia.setText(”“);

CampoPrecio_Prod.setText(”“); CampoPrecio_Vta.setText(”“); }else{ CampoNom_Prod.setText(”———”); CampoDescripcion.setText(”———”); CampoUnidad.setText(”———”); CampoFecha_ingreso.setText(”———”); CampoCan_min.setText(”———”); CampoCan_max.setText(”———”); CampoExistencia.setText(”———”); CampoPrecio_Prod.setText(”———”); CampoPrecio_Vta.setText(”———”); } } }

private class PRBorrarDatos implements ActionListener{ public void actionPerformed(ActionEvent Evento){ PRObConsulta InstanciaConsulta=new PRObConsulta(CampoNum_Prod.getText()); PRPosicionBuscada=InstanciaConsulta.PosicionEncontrada();

if(PRPosicionBuscada!=0){ PRObBorrado InstanciaBorrado=new PRObBorrado(PRPosicionBuscada); CampoNum_Prod.setText(”“); CampoNom_Prod.setText(”“); CampoDescripcion.setText(”“); CampoUnidad.setText(”“); CampoFecha_ingreso.setText(”“); CampoCan_min.setText(”“); CampoCan_max.setText(”“); CampoExistencia.setText(”“); CampoPrecio_Prod.setText(”“); CampoPrecio_Vta.setText(”“); }else{ CampoNom_Prod.setText(”———”); CampoDescripcion.setText(”———”); CampoUnidad.setText(”———”); CampoFecha_ingreso.setText(”———”); CampoCan_min.setText(”———”); CampoCan_max.setText(”———”); CampoExistencia.setText(”———”); CampoPrecio_Prod.setText(”———”); CampoPrecio_Vta.setText(”———”);

} } } private class PRListarDatos implements ActionListener{ public void actionPerformed(ActionEvent Evento){ PRconnect(); PRfetch(); } }

private class PRControles implements ActionListener{ public void actionPerformed(ActionEvent Evento){ Button Pulsado=(Button) Evento.getSource(); String Identificador=Pulsado.getName(); PRObPosicionamiento InstanciaPosicionamiento =new PRObPosicionamiento(Identificador, PRPosicionBuscada); PRObRegistro InstanciaFila= InstanciaPosicionamiento.DameDatos();

CampoNum_Prod.setText(InstanciaFila.DameNum()); CampoNom_Prod.setText(InstanciaFila.DameNombre()); CampoDescripcion.setText(InstanciaFila.DameDesc()); CampoUnidad.setText(InstanciaFila.DameUnidad()); CampoFecha_ingreso.setText(InstanciaFila.DameFing()); CampoCan_min.setText(InstanciaFila.DameCmin()); CampoCan_max.setText(InstanciaFila.DameCmax()); CampoExistencia.setText(InstanciaFila.DameExistencia()); CampoPrecio_Prod.setText(InstanciaFila.DamePprod()); CampoPrecio_Vta.setText(InstanciaFila.DamePvta()); PRPosicionBuscada=InstanciaPosicionamiento.Posicion(); } }

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
private class Buscar implements ActionListener{ public void actionPerformed (ActionEvent Evento){ PRObConsulta InstanciaConsulta=new PRObConsulta (NumeroProducto.getText()); PRPosicionBuscada=InstanciaConsulta.PosicionEncontrada();

if(PRPosicionBuscada!=0){ PRObRegistro InstanciaFila=InstanciaConsulta.DameDatos(); NumeroProducto.setText(InstanciaFila.DameNum());

NombreProducto.setText(InstanciaFila.DameNombre()); Descrip.setText(InstanciaFila.DameDesc()); Precio.setText(InstanciaFila.DamePvta());

}else{ NumeroProducto.setText(”——-”); NombreProducto.setText(”——-”);

Descrip.setText(”——-”); Cant.setText(”——-”); Precio.setText(”——-”); Subtotal.setText(”——-”); Total.setText(”——-”);

} } }

public void connect() { BaseDeDato = new ListarJDBC(“jdbc:odbc:ADSIJEL”,“sun.jdbc.odbc.JdbcOdbcDriver”,“Chano”,“veracruz”); Tabla.setModel(BaseDeDato); }

public void fetch() { BaseDeDato.executeQuery(“SELECT * FROM CLIENTES”); }

Thread s, concurrent execution, and synchronization 131

public void Pconnect() { BaseDeDato = new ListarJDBC(“jdbc:odbc:ADSIJEL”,“sun.jdbc.odbc.JdbcOdbcDriver”,“Chano”,“veracruz”); Tabla.setModel(BaseDeDato); }
public void Pfetch() { BaseDeDato.executeQuery(“SELECT * FROM PROVEEDOR”); }

public void PRconnect() { BaseDeDato = new ListarJDBC(“jdbc:odbc:ADSIJEL”,“sun.jdbc.odbc.JdbcOdbcDriver”,“Chano”,“veracruz”); Tabla.setModel(BaseDeDato); }
public void PRfetch() { BaseDeDato.executeQuery(“SELECT * FROM PRODUCTOS”); }

public void connectVarios() { BaseDeDato = new ListarJDBC(“jdbc:odbc:ADSIJEL”,“sun.jdbc.odbc.JdbcOdbcDriver”,“Chano”,“veracruz”); Tabla.setModel(BaseDeDato); }
public void fetchVarios() { BaseDeDato.executeQuery(“SELECT CLIENTES.,‘Cliente’ AS [Relación] FROM CLIENTES UNION SELECT PROVEEDOR., ‘Proveedor’ FROM PROVEEDOR”); }

public JScrollPane crearTabla() { Tabla = new TipoTabla(); JTable table = new JTable(Tabla); table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); Tabla.addMouseListenerToHeaderInTable(table); JScrollPane scrollpane = new JScrollPane(table); return scrollpane; }

public JScrollPane PcrearTabla() { PTabla = new TipoTabla(); JTable table = new JTable(Tabla); table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); Tabla.addMouseListenerToHeaderInTable(table); JScrollPane scrollpane = new JScrollPane(table); return scrollpane; }

public JScrollPane PanelTablaVarios() { PTabla = new TipoTabla(); JTable table = new JTable(Tabla); table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); Tabla.addMouseListenerToHeaderInTable(table); JScrollPane scrollpane = new JScrollPane(table); return scrollpane; }

public JScrollPane PRcrearTabla() { PTabla = new TipoTabla(); JTable table = new JTable(Tabla); table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); Tabla.addMouseListenerToHeaderInTable(table); JScrollPane scrollpane = new JScrollPane(table); return scrollpane; }

public static void main (String [] args){ new Principal(); }

private class Cliente implements ActionListener{ public void actionPerformed(ActionEvent Evento){ Formulario2.pack(); Formulario2.setVisible(true); } }

private class Operar implements ActionListener{ public void actionPerformed(ActionEvent Evento){

Subtotal.setText(”“+Integer.parseInt(Cant.getText())*Integer.parseInt(Precio.getText())); Total.setText(”“+Integer.parseInt(Subtotal.getText())*1.15); } }

private class Proveedor implements ActionListener{ public void actionPerformed(ActionEvent Evento){ Formulario3.pack(); Formulario3.setVisible(true); } }

private class Producto implements ActionListener{ public void actionPerformed(ActionEvent Evento){ Formulario4.pack(); Formulario4.setVisible(true); } }

private class Salir implements ActionListener{ public void actionPerformed(ActionEvent Evento){ if(JOptionPane.showOptionDialog(AgregarTabla, preg, “Cerrando Sistema ADSIJEL”, JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE, null, BotonDialogo, BotonDialogo0)==0){ System.exit(0);} } }

private class Ventas implements ActionListener{ public void actionPerformed(ActionEvent Evento){ Formulario6.pack(); Formulario6.setVisible(true); } }

public void run() { Thread me = Thread.currentThread(); while (timer == me) { try { Thread.currentThread().sleep(100); } catch (InterruptedException e) { }

while (Cronometro == me) { try { Thread.currentThread().sleep(100); } catch (InterruptedException e) { } } Regresar(); } } public void Regresar() {

int s = 0, m = 10, h = 10; String today;

currentDate = new Date();

formatter.applyPattern(“s”); try { s = Integer.parseInt(formatter.format(currentDate)); } catch (NumberFormatException n) { s = 0; } formatter.applyPattern(“m”); try { m = Integer.parseInt(formatter.format(currentDate)); } catch (NumberFormatException n) { m = 10; } formatter.applyPattern(“h”); try { h = Integer.parseInt(formatter.format(currentDate)); } catch (NumberFormatException n) { h = 10; } formatter.applyPattern(“HH:mm:ss”); today = formatter.format(currentDate); txt1.setText(”“+lastdate); lastdate = today; lastdate2 = today; lastdate3 = today; currentDate = null; }

public void Desbloquear() { if(JOptionPane.showOptionDialog(AgregarTabla, DatosPanel, “Datos de Usuario”, JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE, null, BotonDialogoBegin, BotonDialogoBegin0)==0){ Conexion InstanciaConsulta=new Conexion (Usuario.getText(),Contraseña.getText()); PosicionBuscada=InstanciaConsulta.PosicionEncontrada();

if(PosicionBuscada!=0){ band=true; }

else{ JOptionPane.showMessageDialog(null ,“Usuario o Contraseña incorrecta”, “Error”,2); Desbloquear(); } }

else System.exit(0); } private class Cancelar implements ActionListener{ public void actionPerformed(ActionEvent Evento){ System.exit(0); } } }

import java.sql.*;

public class PRObBorrado{

PRObBorrado(int PosicionBuscada){
try{ Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”); String BaseDeDatos = “jdbc:odbc:ADSIJEL”; Connection Conexion=DriverManager.getConnection (BaseDeDatos); Statement SentenciaSQL=Conexion.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE); ResultSet Personas=SentenciaSQL.executeQuery(“SELECT * FROM PRODUCTOS”);

Personas.absolute(PosicionBuscada); Personas.deleteRow();

Personas.close(); Conexion.close(); SentenciaSQL.close(); } catch(ClassNotFoundException e){ System.out.println(“Clase no encontrada”); } catch(SQLException e){ System.out.println(e); } }
}

import java.sql.*;
public class PRObConsulta{ private int Posicion=0; private PRObRegistro DatosPersona; PRObConsulta(String DNIPedido){ try{ Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”); String BaseDeDatos=“jdbc:odbc:ADSIJEL”; Connection Conexion = DriverManager.getConnection(BaseDeDatos); Statement SentenciaSQL=Conexion.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE); ResultSet Personas =SentenciaSQL.executeQuery(“SELECT * FROM PRODUCTOS”);

Personas.moveToInsertRow(); while(Personas.next()){ String Num=Personas.getString(“Num_Prod”);

if(Num.equalsIgnoreCase(DNIPedido)){ Posicion=Personas.getRow(); String Nombre=Personas.getString(“Nom_Prod”); String Desc=Personas.getString(“Descripcion”); String Unidad=Personas.getString(“Unidad”); String Fing=Personas.getString(“Fecha_ingreso”); String Cmin=Personas.getString(“Cant_min”); String Cmax=Personas.getString(“Cant_max”); String Existencia=Personas.getString(“Existencia”); String Pprod=Personas.getString(“Precio_Prod”); String Pvta=Personas.getString(“Precio_Vta”);

DatosPersona=new PRObRegistro(Num,Nombre,Desc,Unidad,Fing,Cmin,Cmax,Existencia,Pprod,Pvta); break;

} }

Personas.close(); Conexion.close(); SentenciaSQL.close(); }

catch(ClassNotFoundException e){ System.out.println(“Clase no encontrada”);

} catch(SQLException e){ System.out.println(e); } } public int PosicionEncontrada(){ return Posicion;

}
public PRObRegistro DameDatos(){ return DatosPersona; }
}

import java.sql.*;

public class PRObInsercion{

PRObInsercion(PRObRegistro Datos){ try{ Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”); String BaseDeDatos=“jdbc:odbc:ADSIJEL”; Connection Conexion = DriverManager.getConnection(BaseDeDatos);
SentenciaSQL=Conexion.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE); ResultSet Personas =SentenciaSQL.executeQuery(“SELECT * FROM PRODUCTOS”);

Personas.moveToInsertRow();

Personas.updateString(“Num_Prod”,Datos.DameNum()); Personas.updateString(“Nom_Prod”,Datos.DameNombre()); Personas.updateString(“Descripcion”,Datos.DameDesc()); Personas.updateString(“Unidad”,Datos.DameUnidad()); Personas.updateString(“Fecha_ingreso”,Datos.DameFing()); Personas.updateString(“Cant_min”,Datos.DameCmin()); Personas.updateString(“Cant_max”,Datos.DameCmax()); Personas.updateString(“Existencia”,Datos.DameExistencia()); Personas.updateString(“Precio_Prod”,Datos.DamePprod()); Personas.updateString(“Precio_Vta”,Datos.DamePvta()); Personas.insertRow();

Personas.close(); Conexion.close(); SentenciaSQL.close(); } catch(ClassNotFoundException e){ System.out.println(“Clase no encontrada”); } catch(SQLException e){ System.out.println(e); } } }
142Thread s, concurrent execution, and synchronization

import java.sql.*;

public class PRObModificacion{

PRObModificacion(int PosicionBuscada, PRObRegistro PRDatos){

try{ Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”); String BaseDeDatos=“jdbc:odbc:ADSIJEL”; Connection Conexion = DriverManager.getConnection(BaseDeDatos); Statement SentenciaSQL=Conexion.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE); ResultSet Personas =SentenciaSQL.executeQuery(“SELECT * FROM PRODUCTOS”); Personas.absolute(PosicionBuscada); Personas.updateString(“Num_Prod”,PRDatos.DameNum()); Personas.updateString(“Nom_Prod”,PRDatos.DameNombre()); Personas.updateString(“Descripcion”,PRDatos.DameDesc()); Personas.updateString(“Unidad”,PRDatos.DameUnidad()); Personas.updateString(“Fecha_ingreso”,PRDatos.DameFing()); Personas.updateString(“Cant_min”,PRDatos.DameCmin());

Personas.updateString(“Cant_max”,PRDatos.DameCmax()); Personas.updateString(“Existencia”,PRDatos.DameExistencia()); Personas.updateString(“Precio_Prod”,PRDatos.DamePprod()); Personas.updateString(“Precio_Vta”,PRDatos.DamePvta()); Personas.updateRow();

Personas.close(); Conexion.close(); SentenciaSQL.close(); } catch(ClassNotFoundException e){ System.out.println(“Clase no encontrada”); } catch(SQLException e){ System.out.println(e); } }
}

import java.sql.*;

public class PRObPosicionamiento{

private PRObRegistro DatosPersona; private int Posicion;

PRObPosicionamiento(String Accion, int Posicion){ int IDAccion, Edad; String Num_Prod,Nom_Prod,Descripcion,Unidad,Fecha_ingreso,Can_min,Can_max,Existencia,Precio_Prod,Precio_Vta;

boolean PosicionCorrecta=false;

try{ Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”); String BaseDeDatos=“jdbc:odbc:ADSIJEL”;

Connection Conexion = DriverManager.getConnection(BaseDeDatos); Statement SentenciaSQL=Conexion.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE); ResultSet Personas =SentenciaSQL.executeQuery(“SELECT * FROM PRODUCTOS”);

Personas.absolute(Posicion);

IDAccion=Integer.parseInt(Accion); switch(IDAccion){ case 0: PosicionCorrecta=Personas.last(); break; case 1: PosicionCorrecta=Personas.first(); break; case 2: PosicionCorrecta=Personas.relative(-5); break; case 3: PosicionCorrecta=Personas.previous(); break; case 4: PosicionCorrecta=Personas.next(); break; case 5: PosicionCorrecta=Personas.relative(+5); break; }

if(PosicionCorrecta){ this.Posicion=Personas.getRow();

Num_Prod=Personas.getString(“Num_Prod”); Nom_Prod=Personas.getString(“Nom_Prod”); Descripcion=Personas.getString(“Descripcion”); Unidad=Personas.getString(“Unidad”); Fecha_ingreso=Personas.getString(“Fecha_ingreso”); Can_min=Personas.getString(“Can_min”); Can_max=Personas.getString(“Can_max”); Existencia=Personas.getString(“Existencia”); Precio_Prod=Personas.getString(“Precio_Prod”); Precio_Vta=Personas.getString(“Precio_Vta”);

} else{ this.Posicion=Posicion;

Num_Prod=”——-”; Nom_Prod=”——-”; Descripcion=”——-”; Unidad=”——-”; Fecha_ingreso=”——-”; Can_min=”——-”; Can_max=”——-”; Existencia=”——-”; Precio_Prod=”——-”; Precio_Vta=”——-”; } DatosPersona=new PRObRegistro(Num_Prod,Nom_Prod,Descripcion,Unidad,Fecha_ingreso,Can_min,Can_max,Existencia,Precio_Prod,Precio_Vta);

Personas.close(); Conexion.close(); SentenciaSQL.close(); } catch(ClassNotFoundException e){

System.out.println(“Clase no encontrada”); } catch(SQLException e){ System.out.println(e); } } public int Posicion(){ return Posicion; } public PRObRegistro DameDatos(){ return DatosPersona; } }
public class PRObRegistro {
private String Num_Prod,Nom_Prod,Descripcion,Unidad,Fecha_ingreso,Can_min,Can_max,Existencia,Precio_Prod,Precio_Vta;
PRObRegistro (String Num_Prod,String Nom_Prod,String Descripcion,String Unidad,String Fecha_ingreso,String Can_min,String Can_max,String Existencia,String Precio_Prod,String Precio_Vta){

this.Num_Prod=Num_Prod;
this.Nom_Prod=Nom_Prod;
this.Descripcion=Descripcion;
this.Unidad=Unidad;
this.Fecha_ingreso=Fecha_ingreso;
this.Can_min=Can_min;
this.Can_max=Can_max;
this.Existencia=Existencia;
this.Precio_Prod=Precio_Prod;
this.Precio_Vta=Precio_Vta;

}
String DameNum(){
return Num_Prod;
}
String DameNombre(){
return Nom_Prod;
}
String DameDesc(){
return Descripcion;
}
String DameUnidad(){
return Unidad;
}
String DameFing(){
return Fecha_ingreso;
}
String DameCmin(){
return Can_min;
}
String DameCmax(){
return Can_max;
}
String DameExistencia(){
return Existencia;
}
String DamePprod(){
return Precio_Prod;
}
String DamePvta(){
return Precio_Vta;
}
}

16 Compilation, source file names, class names, and class files
A Java program consists of one or more source files (with filename suffix .java). A source file may
contain one or more class or interface declarations. A source file can contain only one declaration
of a public class or interface, which must then have the same name as the file (minus the filename
suffix). A source file source.java is compiled to Java class files (with filename suffix .class) by
a Java compiler, such as jikes or javac:
jikes source.java
This creates one class file for each class or interface declared in the source file source.java. A
class or interface C declared in a top-level declaration produces a class file called C.class. A nested
class or interface D declared inside class C produces a class file called C$D.class. A local class D
declared inside a method in class C produces a class file called C$1$D.class or similar.
A Java class C which declares the method public static void main(String[] args) can
be executed using the Java runtime system java by typing a command line of the form
java C arg1 arg2 …
This will execute the body of method main with the command line arguments arg1, arg2, . . . bound
to the array elements args0, args1, . . . of type String inside the method main. The program
in Example 6 concatenates all the command line arguments.
17 Packages
Java source files may be organized in packages. Every source file belonging to package p must begin
with the package declaration
package p;
and must be stored in a subdirectory called p. A class declared in a source file with no package
declaration belongs to the anonymous default package. A source file not belonging to package p
may refer to class C from package p by using the qualified name p.C, in which the class name is
prefixed by the package name. To use the unqualified class name without the package name prefix,
the source file must begin with an import declaration (possibly following a package declaration):
import p.C;
Alternatively, it may begin with an import declaration of the form:
import p.*;
after which all accessible class and interface names from package p can be used unqualified. The Java
class library package java.lang is implicitly imported into all source files. Hence all java.lang
classes, such as String and Math, can be referred to unqualified, without the package name.
Package names may be composite. For example, the Java class library package java.util
contains the class Vector, which is declared in file java/util/Vector.java. The qualified name
of that class is java.util.Vector; to avoid the package prefix, use one of these declarations:
import java.util.Vector;
import java.util.*;
Packages 61
Example 74 The vessel hierarchy as a package
The package vessel below contains part of the vessel hierarchy (Example 16). The fields in
classes Tank and Barrel are final, so they cannot be modified after object creation. They are
protected, so they are accessible in subclasses declared outside the vessel package, as shown in
file Usevessels.java below (which is in the anonymous default package, not the vessel package).
The file vessel/Vessel.java
package vessel;
public abstract class Vessel {
private double contents;
public abstract double capacity();
public final void fill(double amount)
{ contents = Math.min(contents + amount, capacity()); }
public final double getContents() { return contents; }
}
The file vessel/Tank.java
package vessel;
public class Tank extends Vessel {
protected final double length, width, height;
public Tank(double l, double w, double h) { length = l; width = w; height = h; }
public double capacity() { return length * width * height; }
public String toString()
{ return “tank (l,w,h) = (” + length + “, “ + width + “, “ + height + “)”; }
}
The file vessel/Barrel.java
package vessel;
public class Barrel extends Vessel {
protected final double radius, height;
public Barrel(double r, double h) { radius = r; height = h; }
public double capacity() { return height * Math.PI * radius * radius; }
public String toString() { return “barrel (r, h) = (” + radius + “, “ + height + “)”; }
}
The file Usevessels.java
Subclass Cube of class Tank may access the field length because that field is declared protected
in Tank above. The main method is unmodified from Example 17.
import vessel.*;
class Cube extends Tank {
public Cube(double side) { super(side, side, side); }
public String toString() { return “cube (s) = (” + length + “)”; }
}
class Usevessels {
public static void main(String[] args) { ... }
}
62 References
Notational conventions in this document
Symbol Meaning
v value of any type
x variable or parameter or field or array element
e expression
t type (base type or reference type)
s expression of type string
m method
f field
C class
E exception type
I interface
a expression or value of array type
o expression or value of object type
sig signature of method or constructor
p package
u expression or value of thread type
Subjects not covered in this document
Input and output; Garbage collection and finalization; Reflection; Details of IEEE754 floating-point
numbers.
18 References
At http://java.sun.com/docs/ and http://java.sun.com/j2se/ there is detailed documentation
for on-line browsing or downloading. Much documentation is available in print also:
_
The authoritative reference on the Java programming language is Gosling, Joy, Steele, Bracha:
The Java Language Specification, Second Edition, Addison-Wesley, June 2000 (544 pages).
Browse or download in HTML (573 KB) at http://java.sun.com/docs/books/jls/
_
An introduction to all aspects of Java programming is Arnold, Gosling, and Holmes: The Java
Programming Language, Third Edition, Addison-Wesley 2000 (624 pages).
_
The Java class libraries (or Java Core API) are described in two volumes: Chan, Lee, and
Kramer: The Java Class Libraries, Second Edition, Volume 1: java.io, java.lang, java.math,
java.net, java.text, java.util, Addison-Wesley 1998 (2050 pages); and Chan and Lee: The
Java Class Libraries, Second Edition, Volume 2: java.applet, java.awt, java.beans, Addison-
Wesley 1997 (1682 pages), plus a supplement: Chan, Lee, and Kramer: The Java Class Libraries:
1.2 Supplement, Addison-Wesley 1999 (1157 pages).
Class library version 1.3 can be browsed at http://java.sun.com/j2se/1.3/docs/api/
or downloaded at http://java.sun.com/j2se/1.3/docs.html (22 MB).
Index 63
19 Index
! (logical negation), 29
% (remainder), 29
& (bitwise and), 29, 30
& (logical strict and), 29, 30
&& (logical and), 29, 30

  • (multiplication), 29

+ (addition), 29
+ (string concatenation), 10 , 29
++ (increment), 29
+= (compound assignment), 29 – (minus sign), 29 – (subtraction), 29
— (decrement), 29
/ (division), 29
= (less than), 29
(left shift), 29, 30 (less than or equal to), 29
= (assignment), 29
== (equal to), 29, 30
> (greater than), 29
>= (greater than or equal to), 29
>> (signed right shift), 29, 30
>>> (unsigned right shift), 29, 30
?: (conditional expression), 29 , 32
^ (bitwise exclusive-or), 29, 30
^ (logical strict exclusive-or), 29, 30 | (bitwise or), 29, 30 | (logical strict or), 29, 30 || (logical or), 29, 30
~ (bitwise complement), 29, 30
abstract
class, 16
method, 20
abstract, see abstract
access modifiers, 18
accessible
class, 16
member, 18
actual parameter, 36
actual-list, 36
ambiguous method call, 21 , 38, 39
anonymous local class, 24
applicable method, 38
argument, 36
arithmetic operators, 30
ArithmeticException, 30 , 52
array, 12–13
access, 12
assignment to element, 12
creation, 12
element, 12
element type, 12
index, 12
initializer, 12
type, 6 , 12
ArrayIndexOutOfBoundsException, 12 , 52
ArrayStoreException, 12 , 52
ASCII character encoding, 10
assignment
compound, 29 , 32
expression, 32
operators, 32
statement, 41
to array element, 12
associative, 28, 29
base type, 6
block-statement, 41
boolean (base type), 6 , 40
Boolean class, 6
break statement, 46
byte (base type), 6 , 40
Byte class, 6
call-by-value, 36
case, 42
case sensitive, 4
cast, see type cast
catch, 48
catching an exception, 48
char (base type), 6 , 40
Character class, 6
charAt method (String), 10
checked exception, 52
class, 14–25
abstract, 16
anonymous local, 24
declaration, 14
64 Index
file, 4 , 60
final, 16
hierarchy, 16
inner, 14 , 24 , 32
libraries, 62
loading, 4 , 22 , 26
local, 14 , 24 , 60
member, 14
nested, 14 , 24 , 60
of an object, 26 , 28 , 32
public, 16 , 60
top-level, 14
Class class, 56
class-declaration, 14 , 50
class-modifier, 14
classbody, 14
ClassCastException, 40 , 52
comment, 4
compareTo method (String), 10
compatible types, 7
compilation, 4
compile-time constant, 42
compound assignment, 29 , 32
concat method (String), 10
concurrency, 54–59
conditional expression, 32
constant
compile-time, 42
constructor
call, 32
declaration, 22
default, 16 , 22
signature, 7 , 22
constructor-declaration, 22
constructor-modifier, 22
continue statement, 46
conversion, 40
narrowing, 40
widening, 40
core API, 62
Created (thread state), 55
current object, 14
currentThread method (Thread), 58
Dead (thread state), 55
decimal integer literal, 6
declaration
of class, 14
of constructor, 22
of field, 18
of formal parameter, 20
of interface, 50
of method, 20
of variable, 8
default
access, 18
constructor, 16 , 22
initial value
of array element, 12
of field, 18
package, 60
default
clause in switch, 42
division
by zero, 30
floating-point, 30
integer, 30
do-while statement, 44
double (base type), 6 , 40
Double class, 6
dynamic dispatch, 38
element
of array, 12
type, 12
else, 42
empty statement, 41
Enabled (thread state), 54, 55
enclosing object, 24 , 26
Enumeration interface, 25
equals method (String), 10
Error, 52
escape sequence, 10
Exception, 52
exception, 52–53
catching, 48
checked, 52
in static initializer, 22
throwing, 48
unchecked, 52
ExceptionInInitializerError, 22 , 52
execution, 4
expression, 28–40
aritmetic, 30
array access, 12
array creation, 12
Index 65
assignment, 32
conditional, 32
logical, 30
method call, 36–39
object creation, 32
type cast, 29 , 40
expression statement, 41
extended signature, 7
extends-clause, 16 , 50
field, 8 , 18
access, 34
declaration, 18
final, 18
static, 18
field-declaration, 18
field-desc-modifier, 50
field-description, 50
field-modifier, 18
final
class, 16
field, 18
method, 20
parameter, 20
variable, 8
final, see final
finally, 48
float (base type), 6 , 40
Float class, 6
floating-point
division, 30
literal, 6
overflow, 30
remainder, 30
for statement, 44
formal parameter, 20
formal-list, 20
hexadecimal integer literal, 6
if statement, 42
if-else statement, 42
IllegalMonitorStateException, 52 , 56
immediate superclass, 16
implements-clause, 50
import, 60
index into array, 12
IndexOutOfBoundsException, 52
initialization
of non-static fields, 18
of static fields, 18
initializer, 22
block, 22
of array type, 12
of field, 18
of variable, 8
initializer-block, 22
inner class, 14 , 24 , 32
inner object, 26
instance, 18
instance member, 14
instanceof, 29 , 32
int (base type), 6 , 40
integer
division, 30
literal, 6
overflow, 30
remainder, 30
Integer class, 6
interface, 50–51
declaration, 50
nested, 60
public, 50 , 60
interface-declaration, 50
interface-modifier, 50
interrupt method (Thread), 58
interrupted method (Thread), 58
interrupted status, 54 , 58
InterruptedException, 52
invocation of method, see method call
IOException, 52
isInterrupted method (Thread), 58
Java program, 60
join method (Thread), 58
Joining (thread state), 54, 55
label, 46
labelled statement, 46
lay-out of program, 4
left associative, 28
length
field (array), 12
method (String), 10
literal
base type, 6
floating-point, 6
66 Index
integer, 6
string, 10
loading of class, 22 , 26
local class, 14 , 24 , 60
lock, 56
Locking (thread state), 54, 55
logical operators, 30
long (base type), 6 , 40
Long class, 6
member, 14
instance, 14
static, 14
virtual, 14
member class, 14
non-static, 24
static, 24
method, 20
abstract, 20
body, 20
call, 36–39
ambiguous, 21 , 38, 39
signature, 36
statement, 41
declaration, 20
final, 20
invocation, see method call
non-static, 20
overloading, 20
overriding, 16
signature, 7 , 20
static, 20
method-declaration, 20
method-description, 50
method-modifier, 20
monitor, 56
more specific signature, 7
most specific signature, 7
name, 4
reserved, 4
named constant, 8 , 50
narrowing conversion, 40
nested class, 14 , 24 , 60
nested interface, 60
new
array creation, 12 , 29
object creation, 24 , 29 , 32
non-static
code, 14
field, 18
initializer block, 22
member class, 24
method, 20
notify method (Object), 58
notifyAll method (Object), 58
null, 6 , 8
and + with string, 10
NullPointerException, 10 , 38 , 48 , 52 ,
56
Number class, 6
numeric type, 6
object, 18 , 26–27
creation expression, 32
enclosing, 26
initialization, 22
inner, 26
Object class, 7 , 10 , 16 , 58
octal integer literal, 6
OutOfMemoryError, 52
overflow
floating-point, 30
integer, 30
overloading
of constructors, 22
of methods, 20
overriding a method, 16
package, 60–61
access, 18
default, 60
parameter, 8
actual, 36
final, 20
formal, 20
parameter-modifier, 20
Point class (example), 15
postdecrement, 29, 30
postincrement, 29, 30
precedence, 28
predecrement, 29, 30
preincrement, 29, 30
private member, 18
program lay-out, 4
promotion type, 28
Index 67
protected member, 18 , 61
public
class, 16 , 50 , 60
interface, 50 , 60
member, 18
reference type, 6
remainder
floating-point, 30
integer, 30
reserved name, 4
return statement, 46
returntype, 20
void, 20
right associative, 28 , 32
Runnable interface, 54 , 59
Running (thread state), 54, 55
RuntimeException, 52
scope, 8
of field, 8 , 14
of label, 46
of member, 14
of parameter, 8 , 20
of variable, 8
shadowing a field, 8
shared state, 54
shift operators, 30
short (base type), 6 , 40
Short class, 6
short-cut evaluation, 30
signature, 7
extended, 7
more specific, 7
most specific, 7
of constructor, 22
of method, 20
of method call, 36
subsumption, 7
sleep method (Thread), 58
Sleeping (thread state), 54, 55
source file, 60
SPoint class (example), 15
StackOverflowError, 52
start method (Thread), 58
state, 28 , 41
of thread, 54, 55
state shared, 54
statement, 41–49
assignment, 41
block, 41
break, 46
continue, 46
do-while, 44
empty, 41
for, 44
if, 42
if-else, 42
labelled, 46
method call, 41
return, 46
switch, 42
synchronized, 56
throw, 48
try-catch-finally, 48
while, 44
static
class, 50
code, 14
field, 18
initializer block, 22
member, 14
member class, 24
method, 20
static, see static
string, 10 , 10–11
comparison, 10 , 30
concatenation, 10 , 29
literal, 10
StringIndexOutOfBoundsException, 10 , 52
subclass, 16
subinterface, 50
subsumption, 7
subtype, 7
super
superclass constructor call, 16
superclass member access, 16
superclass, 16
supertype, 7
switch statement, 42
synchronization, 56–59
synchronized method, 56
synchronized statement, 56
this
68 Index
constructor call, 22
current object reference, 34
thread, 54 , 54–59
communication, 54
state, 54, 55
Thread class, 54 , 58
throw statement, 48
Throwable class, 48 , 52
throwing an exception, 48
throws, 20
throws-clause, 20
top-level class, 14
toString method, 10, 11 , 15 , 52
try-catch-finally statement, 48
type, 6–7
array, 6 , 12
base, 6
conversion, 40
numeric, 6
reference, 6
type cast
expression, 29 , 40
for base types, 40
for reference types, 40
unchecked exception, 52
Unicode character encoding, 10
value, 8
variable, 8
final, 8
variable-declaration, 8
variable-modifier, 8
virtual member, 14
void returntype, 20
wait method (Object), 58
Waiting (thread state), 54, 55
while statement, 44
widening conversion, 40
yield method (Thread), 58



[ Enlace | Sin comentarios :'( ] del.icio.us del.icio.us Estrella este post ***** General
comparte esto
Comparte esta entrada (del.icio.us, por correo, etc) o agrega este blog a tu Google Reader.

Entradas relacionadas:
  1. Manual Java
  2. MAnual de Programaciòn en Java.
  3. Protocolo SNAP, el mas rapido hasta hoy.
  4. En lo Profundo de la Soledad.
  5. Manual Java 2da. parte
Si usted tiene una cuenta en ymipollo.com, identifíquese:
Usuario: Password: (recordar identificación en este blog)
Escriba su comentario:
Por favor escriba respecto al post, procure revisar su ortografía. Si su comentario no es respecto al tema, por favor no lo haga.

Usted escribirá este mensaje como:
Es posible que su comentario no aparezca de forma inmediata (o que nunca aparezca) eso depende de la decisión del autor de este blog.

enviarme correo cuando alguien comente suscribirse a este post.

RSS
Blog | Comentarios