Anda di halaman 1dari 8

Profesor: Ing.

Edwin SnchezRos

Curso: Tcnicas de programacin

Alumnos: ngel Chupica Manrique

Ciclo: II

Huaraz 2013
CASO PROBLEMA:
Se quiere hacer un sistema, para una compaa donde se venden y reparan bicicletas. A
diferencia de otras compaas esta, arma las bicicletas, de acuerdo a los requerimientos de
los clientes. Cada bicicleta es ensamblada con tres partes: un marco, dos llantas y un
asiento. A cada bicicleta se le asigna un nico nmero de referencia, un costo y garanta. Se
usan partes (asientos, marcos, llantas), de distintos proveedores. Es importante saber el
nmero telefnico del proveedor para contactarlo. Se quiere guardar de cada venta de
bicicletas, la fecha y el costo total. Los datos de los clientes son tambin almacenados
(nombre, direccin, telfono). Las bicicletas son clasificadas en tres tipos: carrera,
montaeras y de terreno. Para las bicicletas de carrera se requiere guardar el nmero de
velocidades que tiene. Cuando un cliente trae una bicicleta para repararla, se deben guardar
los siguientes datos: la fecha, el nmero de referencia de la bicicleta, el tiempo estimado en
que se terminar la reparacin, y la descripcin del dao que se quiere reparar
Despus de presentarles el caso problema cada estudiante de deber tener en cuenta lo
siguiente:
1) Aplica la creacin de clases con sus miembros: atributos y mtodos.
Establece las relaciones posibles entre las clases.
Aplica arreglos objetos en la construccin de los programas.
Utiliza correctamente los niveles de acceso en cada uno de los miembros de la clase.

Solucin

/*

*To change this template, choose Tools | Templates

*and open the template in the editor.

*/

package javaapplication1; import javax.swing.JOptionPane;

import javax.swing.table.DefaultTableModel; /**

public class frmcaso extends javax.swing.JFrame { DefaultTableModel modelo;

/**

*Creates new form frmcaso

*/

public frmcaso() { initComponents();


String cabecera[]={"Nombre cliente","Fecha","NBoleta","Tiempo Reparacion","Descripcion"};

String datos[][]={};

modelo =new DefaultTableModel(datos,cabecera); tlbdatos.setModel(modelo);

private void cboregisActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your


handling code here:

String nom=txtnom.getText(); String fecha= txtfec.getText(); String num= txtbici.getText(); String


repa= txtrepa.getText(); String des= txtdes.getText();

Object datos[]={nom,fecha,num,repa,des}; modelo.addRow(datos);

private void btnLimpiarActionPerformed(java.awt.event.ActionEvent evt) { int fila,total;

fila =tlbdatos.getSelectedRow(); if(fila>=0) modelo.removeRow(fila);

else

JOptionPane.showMessageDialog(null,"Selecciona una fila para Elimianr");

total = modelo.getRowCount(); txttotal.setText(String.valueOf(total));

/**

*This method is called from within the constructor to initialize the form.

*WARNING: Do NOT modify this code. The content of this method is always

*regenerated by the Form Editor.

*/

@SuppressWarnings("unchecked")

// <editor-fold defaultstate="collapsed" desc="Generated Code"> private void initComponents() {

jLabel1 = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel(); jLabel3 = new


javax.swing.JLabel(); txtbici = new javax.swing.JTextField(); jLabel4 = new javax.swing.JLabel();
txtrepa = new javax.swing.JTextField(); jLabel5 = new javax.swing.JLabel(); txtdes = new
javax.swing.JTextField();
jScrollPane1 = new javax.swing.JScrollPane(); tlbdatos = new javax.swing.JTable();

txtnom = new javax.swing.JTextField(); txtfec = new javax.swing.JTextField();

cboregis = new javax.swing.JButton(); btnLimpiar = new javax.swing.JButton(); jLabel6 = new


javax.swing.JLabel(); txttotal = new javax.swing.JTextField();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jLabel1.setText("Nombre de cliente");

getContentPane().add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 40, 100, -


1)); jLabel2.setText("Fecha");

getContentPane().add(jLabel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 70, 40, -1));


jLabel3.setText("N de bicilcleta"); getContentPane().add(jLabel3, new
org.netbeans.lib.awtextra.AbsoluteConstraints(170, 70, -1, -1)); getContentPane().add(txtbici, new
org.netbeans.lib.awtextra.AbsoluteConstraints(260, 70, 50, -1)); jLabel4.setText("Tiempo de
reparacion"); getContentPane().add(jLabel4, new
org.netbeans.lib.awtextra.AbsoluteConstraints(330, 70, 100, -1)); getContentPane().add(txtrepa,
new org.netbeans.lib.awtextra.AbsoluteConstraints(450, 70, 150, -1));
jLabel5.setText("Descripcion Reparacion"); getContentPane().add(jLabel5, new
org.netbeans.lib.awtextra.AbsoluteConstraints(40, 110, 120, -1)); getContentPane().add(txtdes,
new

org.netbeans.lib.awtextra.AbsoluteConstraints(170, 110, 260, 50)); tlbdatos.setModel(new


javax.swing.table.DefaultTableModel( new Object [][] {

{null, null, null, null, null}, {null, null, null, null, null}, {null, null, null, null, null},

{null, null, null, null, null} },

new String [] {

"Title 1", "Title 2", "Title 3", "Title 4", "Title 5"

));

jScrollPane1.setViewportView(tlbdatos); getContentPane().add

(jScrollPane1, new

org.netbeans.lib.awtextra.AbsoluteConstraints(30, 170, 580, 110)); getContentPane().add(txtnom,


new
org.netbeans.lib.awtextra.AbsoluteConstraints(150, 40, 350, -1)); getContentPane().add(txtfec,
new

org.netbeans.lib.awtextra.AbsoluteConstraints(80, 70, 70, -1)); cboregis.setText("REGISTRAR");

cboregis.addActionListener(new java.awt.event.ActionListener()

{ public void actionPerformed(java.awt.event.ActionEvent evt) { cboregisActionPerformed(evt);

});

getContentPane().add(cboregis, new org.netbeans.lib.awtextra.AbsoluteConstraints(440, 100,


110, -1)); btnLimpiar.setText("LIMPIAR");

btnLimpiar.addActionListener(new java.awt.event.ActionListener() { public void


actionPerformed(java.awt.event.ActionEvent evt) { btnLimpiarActionPerformed(evt);

});

getContentPane().add(btnLimpiar, new org.netbeans.lib.awtextra.AbsoluteConstraints(440, 130,


110, -1)); jLabel6.setText("Registro");

getContentPane().add(jLabel6, new org.netbeans.lib.awtextra.AbsoluteConstraints(430, 300, -1, -


1));

getContentPane().add(txttotal, new org.netbeans.lib.awtextra.AbsoluteConstraints(480, 300, 100,


-1)); pack();

}// </editor-fold>

private void cboregisActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your


handling code here:

String nom=txtnom.getText(); String fecha= txtfec.getText(); String num= txtbici.getText(); String


repa= txtrepa.getText(); String des= txtdes.getText();

Object datos[]={nom,fecha,num,repa,des}; modelo.addRow(datos);

private void btnLimpiarActionPerformed(java.awt.event.Action

Event evt) { int fila,total;

fila =tlbdatos.getSelectedRow(); if(fila>=0) modelo.removeRow(fila);


else

JOptionPane.showMessageDialog(null,"Selecciona una fila para Elimianr");

total = modelo.getRowCount(); txttotal.setText(String.valueOf(total));

/**

* @param args the command line arguments */

public static void main(String args[]) { /* Set the Nimbus look and feel */

//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">

/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.

* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html */

try {

for (javax.swing.UIManager.LookAndFeelInfo info :


javax.swing.UIManager.getInstalledLookAndFeels()) { if ("Nimbus".equals(info.getName())) {

javax.swing.UIManager.setLookAndFeel(info.getClassName());

break;

}catch (ClassNotFoundException ex) {


java.util.logging.Logger.getLogger(frmcaso.class.getName()).log(java.util.logging.Leve l.S

EVERE, null, ex);

}catch (InstantiationException ex) {


java.util.logging.Logger.getLogger(frmcaso.class.getName()).log(java.util.logging.Leve l.S

EVERE, null, ex);

}catch (IllegalAccessException ex) {


java.util.logging.Logger.getLogger(frmcaso.class.getName()).log(java.util.logging.Leve l.S

EVERE, null, ex);


}catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(frmcaso.class.getName()).log(java.util.logging.Leve l.S

EVERE, null, ex);

//</editor-fold>

/* Create and display the form */

java.awt.EventQueue.invokeLater(new Runnable() { public void run() {

new frmcaso().setVisible(true);

});

//Variables declaration - do not modify private javax.swing.JButton btnLimpiar; private


javax.swing.JButton cboregis; private javax.swing.JLabel jLabel1; private javax.swing.JLabel
jLabel2; private javax.swing.JLabel jLabel3; private javax.swing.JLabel jLabel4; private
javax.swing.JLabel jLabel5; private javax.swing.JLabel jLabel6;

private javax.swing.JScrollPane jScrollPane1; private javax.swing.JTable tlbdatos;

private javax.swing.JTextField txtbici; private javax.swing.JTextField txtdes; private


javax.swing.JTextField txtfec; private javax.swing.JTextField txtnom; private javax.swing.JTextField
txtrepa; private javax.swing.JTextField txttotal;

//End of variables declaration }

DISEO DEL SISTEMA