Está en la página 1de 14

/*

* To change this license header, choose License Headers in Project Properties.

* To change this template file, choose Tools | Templates

* and open the template in the editor.

*/

package tarea04;

import javax.swing.DefaultListModel;

import javax.swing.JOptionPane;

/**

* @author windows 10

*/

public class preg01 extends javax.swing.JFrame {

//Un cuadro de lista es un objeto que contiene a su vez otro objeto denominado "modelo".

//El objeto "modelo" es el que realmente contiene los datos de la lista.

DefaultListModel objlistacursoelegido = new DefaultListModel();//lista1

DefaultListModel objlistacreditoelegido = new DefaultListModel();//lista2

public preg01() {

initComponents();

lstCursoEleg.setModel(objlistacursoelegido);

lstCredEleg.setModel(objlistacreditoelegido);

btnAgregar.setEnabled(false);

btnEliminar.setEnabled(false);

/**

* 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() {

buttonGroup1 = new javax.swing.ButtonGroup();

jLabel1 = new javax.swing.JLabel();

txtalumno = new javax.swing.JTextField();

jLabel2 = new javax.swing.JLabel();

jLabel3 = new javax.swing.JLabel();

jLabel4 = new javax.swing.JLabel();

jLabel5 = new javax.swing.JLabel();

jScrollPane1 = new javax.swing.JScrollPane();

lstCursos = new javax.swing.JList();

jScrollPane2 = new javax.swing.JScrollPane();

lstCreditos = new javax.swing.JList();

btnAgregar = new javax.swing.JButton();

btnEliminar = new javax.swing.JButton();

jScrollPane3 = new javax.swing.JScrollPane();

lstCursoEleg = new javax.swing.JList();

jScrollPane4 = new javax.swing.JScrollPane();

lstCredEleg = new javax.swing.JList();

jLabel6 = new javax.swing.JLabel();

rbContado = new javax.swing.JRadioButton();

rbCredito = new javax.swing.JRadioButton();

jLabel7 = new javax.swing.JLabel();

txtNrocotas = new javax.swing.JTextField();

btnCalcular = new javax.swing.JButton();

btnBorrar = new javax.swing.JButton();

btnSalir = new javax.swing.JButton();

jLabel8 = new javax.swing.JLabel();

txtDscto = new javax.swing.JTextField();

jLabel9 = new javax.swing.JLabel();

txtIncre = new javax.swing.JTextField();

jLabel10 = new javax.swing.JLabel();


txtMonto = new javax.swing.JTextField();

jLabel11 = new javax.swing.JLabel();

txtPagoCuota = new javax.swing.JTextField();

jLabel12 = 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("Alumno");

getContentPane().add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(29, 21, -1, -1));

getContentPane().add(txtalumno, new org.netbeans.lib.awtextra.AbsoluteConstraints(124, 18, 177, -1));

jLabel2.setText("Oferta de Cursos");

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

jLabel3.setText("Creditos");

getContentPane().add(jLabel3, new org.netbeans.lib.awtextra.AbsoluteConstraints(180, 50, -1, -1));

jLabel4.setText("Cursos Seleccionados");

getContentPane().add(jLabel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(300, 50, -1, -1));

jLabel5.setText("Creditos");

getContentPane().add(jLabel5, new org.netbeans.lib.awtextra.AbsoluteConstraints(430, 50, -1, -1));

lstCursos.setModel(new javax.swing.AbstractListModel() {

String[] strings = { "Base Datos", "Sistemas Operativos", "java", "Oracle", "Php", "Diseo Grfico", "Paginas
Web", "Redes", "Visual Basic", "Sql" };

public int getSize() { return strings.length; }

public Object getElementAt(int i) { return strings[i]; }

});

lstCursos.addListSelectionListener(new javax.swing.event.ListSelectionListener() {

public void valueChanged(javax.swing.event.ListSelectionEvent evt) {

lstCursosValueChanged(evt);
}

});

jScrollPane1.setViewportView(lstCursos);

getContentPane().add(jScrollPane1, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 70, 160, 220));

lstCreditos.setModel(new javax.swing.AbstractListModel() {

String[] strings = { "4", "5", "2", "5", "2", "4", "3", "2", "3", "4" };

public int getSize() { return strings.length; }

public Object getElementAt(int i) { return strings[i]; }

});

jScrollPane2.setViewportView(lstCreditos);

getContentPane().add(jScrollPane2, new org.netbeans.lib.awtextra.AbsoluteConstraints(180, 70, 43, 220));

btnAgregar.setText(">>");

btnAgregar.addActionListener(new java.awt.event.ActionListener() {

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

btnAgregarActionPerformed(evt);

});

getContentPane().add(btnAgregar, new org.netbeans.lib.awtextra.AbsoluteConstraints(240, 90, -1, -1));

btnEliminar.setText("<<");

btnEliminar.addActionListener(new java.awt.event.ActionListener() {

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

btnEliminarActionPerformed(evt);

});

getContentPane().add(btnEliminar, new org.netbeans.lib.awtextra.AbsoluteConstraints(240, 130, -1, -1));

lstCursoEleg.addListSelectionListener(new javax.swing.event.ListSelectionListener() {

public void valueChanged(javax.swing.event.ListSelectionEvent evt) {

lstCursoElegValueChanged(evt);
}

});

jScrollPane3.setViewportView(lstCursoEleg);

getContentPane().add(jScrollPane3, new org.netbeans.lib.awtextra.AbsoluteConstraints(300, 70, 170, 220));

jScrollPane4.setViewportView(lstCredEleg);

getContentPane().add(jScrollPane4, new org.netbeans.lib.awtextra.AbsoluteConstraints(470, 70, 50, 220));

jLabel6.setText("Forma de Pago");

getContentPane().add(jLabel6, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 290, -1, -1));

buttonGroup1.add(rbContado);

rbContado.setText("Contado");

getContentPane().add(rbContado, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 310, -1, -1));

buttonGroup1.add(rbCredito);

rbCredito.setText("Crdito");

getContentPane().add(rbCredito, new org.netbeans.lib.awtextra.AbsoluteConstraints(110, 310, -1, -1));

jLabel7.setText("Nro Cuotas");

getContentPane().add(jLabel7, new org.netbeans.lib.awtextra.AbsoluteConstraints(230, 310, -1, -1));

txtNrocotas.addKeyListener(new java.awt.event.KeyAdapter() {

public void keyTyped(java.awt.event.KeyEvent evt) {

txtNrocotasKeyTyped(evt);

});

getContentPane().add(txtNrocotas, new org.netbeans.lib.awtextra.AbsoluteConstraints(300, 310, 50, -1));

btnCalcular.setText("CALCULAR");

btnCalcular.addActionListener(new java.awt.event.ActionListener() {

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


btnCalcularActionPerformed(evt);

});

getContentPane().add(btnCalcular, new org.netbeans.lib.awtextra.AbsoluteConstraints(60, 340, -1, -1));

btnBorrar.setText("BORRAR");

btnBorrar.addActionListener(new java.awt.event.ActionListener() {

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

btnBorrarActionPerformed(evt);

});

getContentPane().add(btnBorrar, new org.netbeans.lib.awtextra.AbsoluteConstraints(190, 340, -1, -1));

btnSalir.setText("SALIR");

btnSalir.addActionListener(new java.awt.event.ActionListener() {

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

btnSalirActionPerformed(evt);

});

getContentPane().add(btnSalir, new org.netbeans.lib.awtextra.AbsoluteConstraints(310, 340, -1, -1));

jLabel8.setText("Descuento");

getContentPane().add(jLabel8, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 370, -1, -1));

txtDscto.setEnabled(false);

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

jLabel9.setText("Incremento");

getContentPane().add(jLabel9, new org.netbeans.lib.awtextra.AbsoluteConstraints(140, 370, -1, -1));

txtIncre.setEnabled(false);

getContentPane().add(txtIncre, new org.netbeans.lib.awtextra.AbsoluteConstraints(210, 370, 120, -1));

jLabel10.setText("Monto a Pagar");
getContentPane().add(jLabel10, new org.netbeans.lib.awtextra.AbsoluteConstraints(340, 370, -1, -1));

txtMonto.setEnabled(false);

getContentPane().add(txtMonto, new org.netbeans.lib.awtextra.AbsoluteConstraints(410, 370, 70, -1));

jLabel11.setText("Pago de la Cuota");

getContentPane().add(jLabel11, new org.netbeans.lib.awtextra.AbsoluteConstraints(160, 410, -1, -1));

txtPagoCuota.setEnabled(false);

getContentPane().add(txtPagoCuota, new org.netbeans.lib.awtextra.AbsoluteConstraints(270, 400, 140, -1));

jLabel12.setText("Total de Creditos");

getContentPane().add(jLabel12, new org.netbeans.lib.awtextra.AbsoluteConstraints(370, 290, -1, -1));

txttotal.setEnabled(false);

getContentPane().add(txttotal, new org.netbeans.lib.awtextra.AbsoluteConstraints(460, 290, 60, -1));

pack();

}// </editor-fold>

private void lstCursosValueChanged(javax.swing.event.ListSelectionEvent evt) {

// Siempre INDEX EMPIEZA DESDE CERO;

//Count empieza a contar desde 1 COMO EN JLIST propiedad SIZE cuenta elementos desde 1

int posicionlstCursos = lstCursos.getSelectedIndex();

lstCreditos.setSelectedIndex(posicionlstCursos);//poner en seleccion el elemento de la lista 2 por su


posicion=index d lista1

btnAgregar.setEnabled(true);

int cont = 0;

private void btnAgregarActionPerformed(java.awt.event.ActionEvent evt) {

String curso, credito;

int nroelementos;
int total = 0;

cont = cont + 1;

if (cont <= 6) {

curso = (String) lstCursos.getSelectedValue();//obtener el valor seleccionado con el click del puntero VALUE
DEVUELVE UN OBJETO

credito = (String) lstCreditos.getSelectedValue();//obtener VALUE seleccionado que fue vinculado por la


posicion dela 1era lista=lstCostos.

//VALUE DEVUELVE OBJETO ES NECESARIO CASTEARLO

objlistacursoelegido.addElement(curso);

objlistacreditoelegido.addElement(credito);

for (int i = 0; i < cont; i++) {

total = total + Integer.parseInt((String) objlistacreditoelegido.elementAt(i));

if (total >= 21) {

JOptionPane.showMessageDialog(null, "credito no puede superar a 20....");

objlistacreditoelegido.remove(i);

objlistacursoelegido.remove(i);

} else {

txttotal.setText(String.valueOf(total));

} else {

JOptionPane.showMessageDialog(null, "ingrese solo 6 cursos :" + cont);

}
private void lstCursoElegValueChanged(javax.swing.event.ListSelectionEvent evt) {

int indice;

indice = lstCursoEleg.getSelectedIndex();

lstCredEleg.setSelectedIndex(indice);

btnEliminar.setEnabled(true);

private void btnEliminarActionPerformed(java.awt.event.ActionEvent evt) {

int indicePosicionselec, cuentaNroelem, total = 0;

indicePosicionselec = lstCursoEleg.getSelectedIndex();

objlistacursoelegido.remove(indicePosicionselec);

objlistacreditoelegido.remove(indicePosicionselec);

cuentaNroelem = objlistacreditoelegido.size();

for (int j = 0; j < 10; j++) {

total = total + Integer.parseInt((String) objlistacreditoelegido.elementAt(j));

txttotal.setText(String.valueOf(total));

btnEliminar.setEnabled(false);

private void btnCalcularActionPerformed(java.awt.event.ActionEvent evt) {

//SUMATORIA DE CREDITOS NO PASE DE 20

try {

int nrocursos, nrocot = 0;

double totalcr = 0;

double des = 0, incre = 0, monto = 0, costocot = 0;

totalcr = Integer.parseInt(txttotal.getText());//es la cantidad creditos


nrocursos = objlistacursoelegido.size(); //cuenta desde 1

double costototcre = 0;

if (nrocursos <= 4) {

costototcre = 70 * totalcr;

} else {

costototcre = 80 * totalcr;

if (rbContado.isSelected()) {

incre = 0;

// txtNrocotas.setText(String.valueOf("0"));

if (totalcr < 12) {

des = 0.05 * costototcre;

} else {

des = 0.07 * costototcre;

} else {

des = 0;

incre = 0.08 * costototcre;

monto = costototcre - des + incre;

if (!"".equals(txtNrocotas.getText())) {

nrocot = Integer.parseInt(txtNrocotas.getText());

costocot = monto / nrocot;

txtPagoCuota.setText(String.valueOf(costocot));

txtDscto.setText(String.valueOf(des));

txtIncre.setText(String.valueOf(incre));

txtMonto.setText(String.valueOf(monto));

}else{

txtDscto.setText(String.valueOf(des));
txtIncre.setText(String.valueOf(incre));

txtMonto.setText(String.valueOf(monto));

} catch (Exception e) {

private void txtNrocotasKeyTyped(java.awt.event.KeyEvent evt) {

// TODO add your handling code here:

String s1 = String.valueOf(evt.getKeyChar());

if (!(s1.matches("[2-6]"))) {

evt.consume();

getToolkit().beep();

JOptionPane.showMessageDialog(null, "Ingrese numero entre 2 y 6");

private void btnBorrarActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

objlistacursoelegido.clear();

objlistacreditoelegido.clear();

txtDscto.setText("");

txtIncre.setText("");

txtMonto.setText("");

txtNrocotas.setText("");

txtPagoCuota.setText("");

txtalumno.setText("");

txttotal.setText("");
}

private void btnSalirActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

dispose();

/**

* @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(preg01.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(preg01.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(preg01.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(preg01.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

}
//</editor-fold>

/* Create and display the form */

java.awt.EventQueue.invokeLater(new Runnable() {

@Override

public void run() {

new preg01().setVisible(true);

});

// Variables declaration - do not modify

private javax.swing.JButton btnAgregar;

private javax.swing.JButton btnBorrar;

private javax.swing.JButton btnCalcular;

private javax.swing.JButton btnEliminar;

private javax.swing.JButton btnSalir;

private javax.swing.ButtonGroup buttonGroup1;

private javax.swing.JLabel jLabel1;

private javax.swing.JLabel jLabel10;

private javax.swing.JLabel jLabel11;

private javax.swing.JLabel jLabel12;

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.JLabel jLabel8;

private javax.swing.JLabel jLabel9;

private javax.swing.JScrollPane jScrollPane1;

private javax.swing.JScrollPane jScrollPane2;

private javax.swing.JScrollPane jScrollPane3;

private javax.swing.JScrollPane jScrollPane4;


private javax.swing.JList lstCredEleg;

private javax.swing.JList lstCreditos;

private javax.swing.JList lstCursoEleg;

private javax.swing.JList lstCursos;

private javax.swing.JRadioButton rbContado;

private javax.swing.JRadioButton rbCredito;

private javax.swing.JTextField txtDscto;

private javax.swing.JTextField txtIncre;

private javax.swing.JTextField txtMonto;

private javax.swing.JTextField txtNrocotas;

private javax.swing.JTextField txtPagoCuota;

private javax.swing.JTextField txtalumno;

private javax.swing.JTextField txttotal;

// End of variables declaration

También podría gustarte