Está en la página 1de 22

Escuela: Ingeniería de Sistemas

Curso: Visual I

Tema: Tarea 6

Docente: Martin Salcedo Quiñones

Alumno: Angel Chupica Manrique


cboTipo

txtDesc
txtCost
cboMarca
btnSalir

BtnAgregar btnEliminar

tabla
txtTotal

fecha
txtMayor

Variables designadas

private javax.swing.JButton btnAgregar;


private javax.swing.JButton btnEliminar;
private javax.swing.JButton btnSalir;
private javax.swing.JComboBox cboMarca;
private javax.swing.JComboBox cboTipo;
private javax.swing.JTextField fecha;
private javax.swing.JLabel hora;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable tabla;
private javax.swing.JTextField txtCost;
private javax.swing.JTextField txtDesc;
private javax.swing.JTextField txtMayor;
private javax.swing.JTextField txtTotal;

programación en NetBeans

package pqcombos;

import java.awt.event.KeyEvent;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;

public class frmArtefactos extends javax.swing.JFrame {

Ahora procedemos a escribir la definición de las variables del tipo DefaulttableModel


en la clase frmArtefactos

DefaultTableModel modelo = new DefaultTableModel();


Una vez definido las 5 variables de memoria del tipo
DefaulttablaModel,

String[] Datos = new String[5];


public static String fechaActual(){ Date fecha=new Date(); SimpleDateFormat formatoFecha=new
SimpleDateFormat("dd/MM/YYYY"); return formatoFecha.format(fecha);

public frmArtefactos() {
initComponents();
Definir el título del formulario en la barra de titulo cuya expression es “ Registrar Artefactos ”
this.setTitle("Registrar Artefactos");
setLocationRelativeTo(null);
setDefaultCloseOperation(frmArtefactos.EXIT_ON_CLOSE);
tabla.setModel(modelo);
modelo.setColumnIdentifiers(new String[]{"Cliente", "Marca", "Tipo", "Costo", "Precio"});
Llenar();
txtTotal.setEditable(false);

cboMarca.setSGelectedIndex(-1);
cboTipo.setSelectedIndex(-1);
}
En llenar pondremos la marca del cliente que desea adquirir que son :SONY-PANASONIC - SAMSUMG
– LG y topo como : AUDIO - VIDEO - LINEA BLANCA

public void Llenar() {


cboMarca.addItem("SONY");
cboMarca.addItem("PANASONIC");
cboMarca.addItem("SAMSUMG");
cboMarca.addItem("LG");
cboTipo.addItem("AUDIO");
cboTipo.addItem("VIDEO");
cboTipo.addItem("LINEA BLANCA");
}
En agregar pondremos las 5 variables de memoria del tipo DefaulttablaModel,

public void Agregar() {


if ((txtCost.getText().trim().length() == 0)) {
JOptionPane.showMessageDialog(rootPane, "Faltan datos");
txtCost.requestFocus();
} else if (cboMarca.getSelectedIndex() > -1) {
Datos[0] = txtDesc.getText();
Datos[1] = cboMarca.getSelectedItem().toString();
Datos[2] = cboTipo.getSelectedItem().toString();
Datos[3] = txtCost.getText();
Datos[4] = Double.toString(Double.parseDouble(txtCost.getText()) +
Double.parseDouble(txtCost.getText()) * 0.19);
modelo.addRow(Datos);
cboMarca.setSelectedIndex(0);
cboTipo.setSelectedIndex(0);
txtTotal.setText(null);
txtDesc.setText(null);
txtCost.setText(null);

txtDesc.requestFocus();
Calcular();
Limpiar();
}
}

public void Limpiar() {


txtDesc.setText(null);
txtCost.setText(null);
cboMarca.setSelectedIndex(-1);
cboTipo.setSelectedIndex(-1);
}
Aqui calcularemos la cantida de artefactos lleva y cuanto va a pagar
public void Calcular() {
int peliculas = 0, mayor = 0;
String pelimayor = "";
for (int k = 0; k < modelo.getRowCount(); k++) {
peliculas = peliculas + 1;
if ((Integer.parseInt(modelo.getValueAt(k, 3).toString())) > mayor) {
mayor = Integer.parseInt(modelo.getValueAt(k, 3).toString());
pelimayor = modelo.getValueAt(k, 0).toString();
}
}
txtTotal.setText(Integer.toString(peliculas));
txtMayor.setText(pelimayor);
txtDesc.requestFocus();
}

public void Mayusculas(JTextField tx) {


tx.setText(tx.getText().toUpperCase());
}
Nos ayuda para poder eliminar la opción del cliente después de agregarlo
public void Eliminar() {
if (tabla.getSelectedRow() > -1) {
if (JOptionPane.showConfirmDialog(rootPane, "Estas seguro de eliminar al producto "
+ tabla.getValueAt(tabla.getSelectedRow(), 1).toString(), "Confirme", 0) == 0) {
modelo.removeRow(tabla.getSelectedRow());
Calcular();
}
}
}

txtcost para evitar ingresar letras


public void soloNumeros(KeyEvent ev) {
if (ev.getKeyChar() < 47 || (ev.getKeyChar() > 57)) {
ev.consume();
}
}
txtDesc para evitar ingresar números
public void soloLetras(KeyEvent ev) {
if ((ev.getKeyChar() >= 47) && (ev.getKeyChar() <= 57)) {
ev.consume();
}

public void pasar() {


if (txtDesc.getText().trim().length() > 0) {
txtCost.requestFocus();
}
}

public void pasarenter(KeyEvent e) {


if (e.getKeyChar() == 10) {
pasar();
}
}
Se crea una ventana que nos pregunta si “desea salir” si o no
public void Salir() {
if (JOptionPane.showConfirmDialog(rootPane, "Desea salir", "confirmar por favor", 0) == 0) {
this.dispose();
}
}

Imágenes de la programación en netbeans


Ejecución del programa
2-Se desea ingresar el título de la película, seleccionar la categoría que puede ser Drama, Comedia,
Accón, Suspenso, etc. y el ingreso de la duración. Se debe definir solamente tres columnas en el objeto
Jtable y hazlo a partir de un modelo creado a partir de la clase DefaultTableModel. Al momento de
agregar se debe generar una fila en el Jtable y visualizar el total de películas observadas en el Jtable, de
igual manera debe suceder cuando se proceda a eliminar con el otro botón de comando. La aplicación
además, debe permitir seleccionar una categoría y mostrar la cantidad de películas de dicha
categoría.

txtDuc

txtPeli

btncerrar
cboC

btneliminar
btnagregar

tabla
txtPeli

cboCant
txtIgual
Declaracion de variables

private javax.swing.JButton btnagregar;


private javax.swing.JButton btncerrar;
private javax.swing.JButton btneliminar;
private javax.swing.JComboBox cboC;
private javax.swing.JComboBox cboCant;
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.JLabel jLabel7;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable tabla;
private javax.swing.JTextField txtDuc;
private javax.swing.JTextField txtIgual;
private javax.swing.JTextField txtPeli;
private javax.swing.JTextField txtTotal;

programación en NetBeans

package cine;
import java.awt.event.KeyEvent;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;
public class frmPeliculas extends javax.swing.JFrame {

Ahora procedemos a escribir la definición de las variables del tipo DefaulttableModel


en la clase frmPeliculas

DefaultTableModel modelo=new DefaultTableModel();


String[] Datos=new String[3];

public frmPeliculas() {

Definir el título del formulario en la barra de titulo cuya expression es “Registrar Peliculas”

initComponents();this.setTitle("Registrar Peliculas");
setLocationRelativeTo(null);
setDefaultCloseOperation(frmPeliculas.EXIT_ON_CLOSE);
tabla.setModel(modelo);
modelo.setColumnIdentifiers(new String[]{"Título","Categoría","Duración"});
llenarC();
txtTotal.setEditable(false);
txtIgual.setEditable(false);
cboCant.setSelectedIndex(-1);
cboC.setSelectedIndex(-1);
}
Son las cetegorias de las pelicular a escoger del cliente
public void llenarC(){
cboC.addItem("DRAMA");
cboC.addItem("COMEDIA");
cboC.addItem("ACCION");
cboC.addItem("SUSPENSO");
cboCant.addItem("DRAMA");
cboCant.addItem("COMEDIA");
cboCant.addItem("ACCION");
cboCant.addItem("SUSPENSO");
}
public void calcular(){
txtTotal.setText("0");

for(int k=0;k<modelo.getRowCount();k++)
txtTotal.setText(Integer.toString(k+1));

}
public void Calcular(){
txtTotal.setText("0");
for(int k=0;k<modelo.getRowCount();k++){
txtTotal.setText(Integer.toString(k+1));
}
}
Son la contidad de peliculas que lleva el cliente
public void Cantidadp(){
int cont,i;
int igual=0;
if(cboCant.getSelectedIndex()>-1){
cont=cboCant.getSelectedIndex();
txtIgual.setText(null);
if(cont>=0)
for(i=0;i<modelo.getRowCount();i++){
if((cboCant.getSelectedItem().toString()).compareToIgnoreCase(modelo.getValueAt(i,1).toString())==0)
{
igual=igual+1;
}
}
txtIgual.setText(Integer.toString(igual));
}
}
En agregar pondremos las 3 variables de memoria del tipo DefaulttablaModel
public void Agregar(){
if((txtDuc.getText().trim().length()==0)){
JOptionPane.showMessageDialog(rootPane,"Faltan datos");
txtDuc.requestFocus();
}else
if(cboC.getSelectedIndex()>-1){
Datos[0]=txtPeli.getText();
Datos[1]=cboC.getSelectedItem().toString();
Datos[2]=txtDuc.getText();
modelo.addRow(Datos);
cboC.setSelectedIndex(0);
txtTotal.setText(null);
txtDuc.setText(null);
txtPeli.setText(null);
txtPeli.requestFocus();
Calcular();Limpiar();
}
}
public void Limpiar(){
txtDuc.setText(null);
txtPeli.setText(null);
cboC.setSelectedIndex(-1);
cboCant.setSelectedIndex(-1);
}
public void Eliminar(){
if(tabla.getSelectedRow()>-1){
if(JOptionPane.showConfirmDialog(rootPane,"Estas seguro de eliminar al producto "+
tabla.getValueAt(tabla.getSelectedRow(),1).toString(),"Confirme",0)==0){
modelo.removeRow(tabla.getSelectedRow());
Calcular();
}
}
}
Se aprecia en tabla editado las lelecciones del cliente
public boolean isCellEditable(int row, int col) {
//Note that the data/cell address is constant,
//no matter where the cell appears onscreen.
if (col >= 1) {
return false;
} else {
return true;
}
}

public void soloNumeros(KeyEvent ev){


if(ev.getKeyChar()<47||(ev.getKeyChar()>57))
ev.consume();
}
public void soloLetras (KeyEvent ev){
if((ev.getKeyChar()>=47)&& (ev.getKeyChar()<=57))
ev.consume();

}
public void pasar(){
if(txtPeli.getText().trim().length()>0)
txtDuc.requestFocus();
}
public void pasarenter(KeyEvent e){
if(e.getKeyChar()==10)
pasar();
}
public void Cerrar(){
if(JOptionPane.showConfirmDialog(rootPane,"Desea salir","confirme por favor",0)==00)
this.dispose();
}

Imágenes de la programación en netbeans


Ejecución del programa

También podría gustarte