|
Mostrar Mensajes
|
Páginas: [1] 2 3 4 5 6
|
1
|
Programación / PHP / como forzar la descarga de ficheros de extensiones multiples con PHP?
|
en: 15 Octubre 2011, 06:59 am
|
Buenas a todos,he estado realizando un scrip que se me ocurrio que tal vez se pueda hacer o tal vez,me paso por la mente,el scrip que quiero hacer es algo sobre descarga de archivos multiples con php o forzar la descarga de multiples extensiones esto es lo que se hace al pasarle un valor a este codigo y forza la descarga <?php $enlace ="/".$id; header ("Content-Disposition: attachment; filename=".$id." "); header ("Content-Type: application/octet-stream"); ?>
y esta demas decir que para utizarlo se le pasa la ruta dowload?id=nombrearchivo.x pero ahora viene lo bueno,lo que yo quiero hacer es que! lo primero seria renombrar nuestro archivo download_multiple.php y con ese archivo cuando yo lo ejecute que me descargue todo lo que se encuentra en ese directorio ya sean .png,.jpg,.zip,.rar,.pdf,.mp3,.css ficheros de multiples extensiones por asi decirlo! buscando me he encontrado con unos codigos que tal vez alguno de ustedes expertos en el area me pudiera sugerir este es con que estoy tratando: <?php $file = $_SERVER["DOCUMENT_ROOT"].'/.../.../'.$_GET['file']; if(!file) { // File doesn't exist, output error die('file not found'); } else { //$file_extension = strtolower(substr(strrchr($file,"."),1)); switch( $fileExtension) { case "pdf": $ctype="application/pdf"; break; case "exe": $ctype="application/octet-stream"; break; case "zip": $ctype="application/zip"; break; case "doc": $ctype="application/msword"; break; case "xls": $ctype="application/vnd.ms-excel"; break; case "ppt": $ctype="application/vnd.ms-powerpoint"; break; case "gif": $ctype="image/gif"; break; case "png": $ctype="image/png"; break; case "jpeg": case "jpg": $ctype="image/jpg"; break; default: $ctype="application/force-download"; } nocache_headers(); // Set headers header("Pragma: public"); // required header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header("Cache-Control: public"); // required for certain browsers header("Content-Description: File Transfer"); header("Content-Type: $ctype"); header("Content-Disposition: attachment; filename=".$file.";" ); header("Content-Transfer-Encoding: binary"); } ?>
lo que entiendo por este codigo es que me descarga esos tipos de formatos de archivos,pero no se como implementarlo tambien encontre algo asi creando un arreglo de extensiones de archivos <?php $extensiones = array("PNG","zip","doc","rar","jpg"); $f = $_GET["f"]; if(strpos($f,"/")!==false){ die("No puedes navegar por otros directorios"); } $ftmp = explode(".",$f); $fExt = strtolower($ftmp[count($ftmp)-1]);
if(!in_array($fExt,$extensiones)){ die("<b>ERROR!</b> no es posible descargar archivos con la extensión $fExt"); }
header("Content-type: application/octet-stream"); header("Content-Disposition: attachment; filename=\"$f\"\n"); $fp=fopen("$f", "r"); fpassthru($fp); ?>
pero no me funciona siempre me manda aqui y no entiendo si tengo todo bien die("<b>ERROR!</b> no es posible descargar archivos con la extensión $fExt"); y otra cosa que me gustaria implementar es listar todos los archivos de ese directorio para eso lo hago asi: <?php echo "<h3>Index</h3>\n"; echo "<table>\n"; $directorio = opendir("."); while ($archivo = readdir($directorio)) { $nombreArch = ucwords($archivo); $nombreArch = str_replace("..", "Atras", $nombreArch); echo "<tr>\n<td>\n<a href='$archivo'>\n";
echo " border=0>\n"; echo "<b> $nombreArch</b></a></td>\n"; echo "\n</tr>\n"; } closedir($directorio); echo "</table>\n"; ?>
de esta manera me lista todo el directorio y de ahi partir para forzar la descarga de todos los ficheros con extensiones que contenga la carpeta! he estado leyendo el api de php pero viene algo parecido pero no le entiendo muy bien! http://php.net/manual/en/function.readfile.phpbueno seguire buscando como implementar para descargar multiples archivos o ficheros con direntes extensiones saludos xd y de antemano gracias!
|
|
|
2
|
Programación / Java / Validar un archivo txt que solo contenga 1 y 0,para dibujar una img?
|
en: 12 Septiembre 2011, 16:33 pm
|
Hola,saludos XDs! Bueno estoy tratando de solucionar esto,se trata de poder validar un archivo de texto que contiene 1 y 0 que conforman una imagen,donde de un programa java lo mando a llamar y me pinta la imagen en un jpanel,ahora lo que yo quiero hacer es poder validarlo que si esta en el archivo 0111*+´/ cualquier otro simbolo me marque error para esto trate de hacer lo siguiente: import java.text.*; import java.util.*; import java.awt.*; import java.awt.event.*; import java.io.*; import java.util.StringTokenizer; import javax.swing.*; import javax.swing.JFileChooser; // Clase class dibujo extends Frame { // Función de control de la aplicación try{ dir = JOptionPane. showInputDialog(null, "Escribe solo el nombre del archivo a ejecutar"+" ", "micky.isc"); int a=dir.length(),b=a-4; String sub =dir. substring(b,dir. length()),sub2 =".isc"; if (sub.equals(sub2)){ //compara imagen int numlineas = 0,total=0; while ((Cadena = cd.readLine())!=null) { numlineas++; cad += Cadena+"\n"; aqui en el while no se si desde aqui lovalido ya que me lee el archivo txt... } } else { } } e.printStackTrace(); } d.printStackTrace(); } new dibujo(); } public dibujo() { this.setTitle( "Dibujo" ); this.setSize( 350,350 ); this.setVisible( true ); this.addWindowListener( } } ); } g.translate( this.getInsets().left,this.getInsets().top ); byte[] sep = cad.getBytes(); System. out. println ("hacker " +sep [2]); if (cad.length() >= 1000){ int x=0,y=0; for(int i=0; i<sep.length; i++){ if (sep[i] == 48 || sep[i] == 49 || sep[i]==10 ||sep[i]==255 ) { if (sep[i]==48){ g.fillRect( x+70,y+50,1,1); x=x+1; } if (sep[i] == 49){ g.fillRect( x+70,y+50,1,1 ); x=x+1; } if (sep[i]== 10){ y=y+1; x=0; } }//// else{ ///////////////////// aqui esta mi duda le digo que si existe cualquier digito o caracter de 48=1 y 49=0 me mande error pero no entra en el ciclo mi pregunta es por que! if (!(sep[i]==48)&&!(sep[i] == 49)){ System. out. println("eror"+sep [i ]); } } } } else { } } }
bueno espero me haya dado entender,espero me puedan ayudar...saludos...
|
|
|
3
|
Programación / Java / como limpiar datos de un jtable al cerrar una ventana que es jpanel??
|
en: 6 Junio 2011, 14:55 pm
|
hola buenas manes bueno me quede algo atoradoi y queria ver si alguien tiene una idea de como lo puedo hacerlo que necesito hacer es que cuado cierro un jpanel lo que se habia cargdo en jtable yal cerrarlo me lo vacie me lo deje igual bueno he intentado hacerlo asi bueno primero en otra clase lo declaro con esto y para ocuparlo lo ocupo asi de esta manera modelo_pro.addColumn("Nombre de imagen"); modelo_pro.addColumn("Nombre de usuario"); y le paso el modelo... jTable2.setModel(modelo_pro); y con esto lo agrego o lo cargo al jtable fila[0] = app; fila[1] = usuario; modelo_pro.addRow ( fila ); add row para agregar }
pero no me la elimina bueno habia escuchado algo asi pero no se como implementa esto por ejemplo estaba intentado que cuando se cierre la aplicacion,me limpie el jtable para esto estaba viendo la manera de hacer algo asi pero no me sale.. que cuando lo cierre me limpie el jtable.... { @Override { model.setRowCount(0) ; } }
bueno aqui dejo una imagen que una imagen vale mas que mil palabras que cuando cierre l jpanel me limplie el jtable con los datos cargados de esa ventana aver si alguien me ayuda en esa parte muchas gracias
|
|
|
4
|
Programación / Java / como pasar un resulset a un jcombobox dentro de jtable?
|
en: 20 Mayo 2011, 18:26 pm
|
hola bueno,que tal, me surgio otra duda...ahora implemente lo que muchos preguntan,como tener un jcombobox a un jtable.... ahora si yo cargo los items de mi base de datos de esta manera....normalmente public void cargarcombo (JComboBox jcbclave_product ){ try{ Class.forName (driver); System. out. println ("su conexion ha sido muy exitosa"+con ); stmt = con.createStatement(); rs = stmt.executeQuery("SELECT clave FROM productos"); jcbclave_product.removeAllItems(); jcbclave_product.addItem("<-Seleccionar->"); while(rs.next()==true){ jcbclave_product.addItem(rs.getObject(1)); }//fin del while e.printStackTrace(); }//fin del try }
y ahora mando a traer mi metodo asii esto lo pongo en initscomponents bd.cargacombo(jcbclave_product);
ahora mi pregunta es... como le paso los datos a un jcombobox que esta en un jtable?eso es lo que no entiendo como hacerlo... yo el agrego el jcombobox en estas lineas ESTOS SON LOS datos que tiene public static final String[] DATA = { "Dato 1", "Dato 2", "Dato 3", "Dato 4" }; //le digo que la COLUMNA 4 LO VA A TENER tabla.getColumnModel().getColumn(4).setCellEditor(defaultCellEditor);
ahora mi pregunta...como se lo implemento con la consulta que yo tengo vere la manera de hacerlo eso es lo que no entiendo..bueno gracias saludos
|
|
|
5
|
Programación / Java / Re: como generar un modelo de jtable?
|
en: 20 Mayo 2011, 16:10 pm
|
listo men,ahi ya lo solucione..con tu ayuda...gracias XD,saludos,,aqui lo dejo por si mas adelante a alguien lo necesita,digan que el hacker es la mejor pagina de toda la red y comunidad de hablahispana..saludos men...bye package levsym.Modulos.Interfaz.catalogo; import java.text.SimpleDateFormat; import java.util.GregorianCalendar; import javax.swing.JTable; import javax.swing.table.DefaultTableModel; // este elemento para tener el control de los metodo addRow y removeRow en JTABLE public estado() { initComponents(); String columNames []={"clave", "nombre_categ", "descripcion", "descripcion", "descripcion"}; datos.setColumnIdentifiers(columNames); tabla.setModel(datos); } @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code"> private void initComponents() { jPanel1 = new javax. swing. JPanel(); jLabel1 = new javax. swing. JLabel(); jLabel7 = new javax. swing. JLabel(); jLabel8 = new javax. swing. JLabel(); tabla = new javax. swing. JTable(); jLabel11 = new javax. swing. JLabel(); setTitle("Estados de Cuenta"); jPanel1. setBorder(javax. swing. BorderFactory. createTitledBorder("Estados de Cuenta")); jLabel1.setText("No.pagos"); jLabel7.setText("importe"); jLabel8.setText("cobrador"); javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); jPanel1.setLayout(jPanel1Layout); jPanel1Layout.setHorizontalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() .addContainerGap() .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel1) .addComponent(jLabel7) .addComponent(jLabel8)) .addGap(198, 198, 198) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jtxt_cobrador, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jtxt_pagos, javax.swing.GroupLayout.PREFERRED_SIZE, 104, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jtxt_importe, javax.swing.GroupLayout.PREFERRED_SIZE, 92, javax.swing.GroupLayout.PREFERRED_SIZE)) . addContainerGap(69, Short. MAX_VALUE)) ); jPanel1Layout.setVerticalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() .addGap(20, 20, 20) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel1) .addComponent(jtxt_pagos, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(66, 66, 66) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jtxt_importe, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel7)) . addPreferredGap(javax. swing. LayoutStyle. ComponentPlacement. RELATED, 31, Short. MAX_VALUE) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jtxt_cobrador, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel8)) .addGap(19, 19, 19)) ); }, } )); tabla.getTableHeader().setReorderingAllowed(false); public void mouseClicked (java. awt. event. MouseEvent evt ) { tablaMouseClicked(evt); } }); jScrollPane1.setViewportView(tabla); jLabel11.setText("Saldo Actual:"); b1.setText("Eliminar Todo"); public void actionPerformed (java. awt. event. ActionEvent evt ) { b1ActionPerformed(evt); } }); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(30, 30, 30) .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 561, javax.swing.GroupLayout.PREFERRED_SIZE) . addContainerGap(113, Short. MAX_VALUE)) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() . addContainerGap(384, Short. MAX_VALUE) .addComponent(jLabel11, javax.swing.GroupLayout.PREFERRED_SIZE, 74, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(jTextField11, javax.swing.GroupLayout.PREFERRED_SIZE, 108, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(128, 128, 128)) .addGroup(layout.createSequentialGroup() .addGap(20, 20, 20) .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(b1) . addContainerGap(144, Short. MAX_VALUE)) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addGroup(layout.createSequentialGroup() .addContainerGap() .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() . addContainerGap(javax. swing. GroupLayout. DEFAULT_SIZE, Short. MAX_VALUE) .addComponent(b1) .addGap(31, 31, 31))) .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 229, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(31, 31, 31) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel11) .addComponent(jTextField11, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) . addContainerGap(27, Short. MAX_VALUE)) ); pack(); }// </editor-fold> private void tablaMouseClicked (java. awt. event. MouseEvent evt ) { } private void b1ActionPerformed (java. awt. event. ActionEvent evt ) { if (evt.getSource()== b1) { int no_pag = Integer. parseInt(jtxt_pagos. getText()); int importe = Integer. parseInt(jtxt_importe . getText()); int no_cobr = Integer. parseInt(jtxt_cobrador. getText()); c.add(c.MONTH,1); for(int f=0;f <no_pag ; f ++ ) { datos.addRow( num ); tabla. setValueAt( String. valueOf(f ),f, 0); tabla.setValueAt(importe,f,3); tabla.setValueAt(no_cobr,f,4); //java.util.Date fecha=new Date(); if(!(f==0))c.add(c.DAY_OF_YEAR,15); tabla. setValueAt(c. get(GregorianCalendar. DAY_OF_MONTH)+"/"+c. get(c. MONTH)+"/"+c. get(c. YEAR),f, 1); //jt.setValueAt("adasdfdsa",f,1); //jt.setValueAt(d1.format(fecha),f,1); } } } // Variables declaration - do not modify private javax. swing. JLabel jLabel1 ; private javax. swing. JLabel jLabel11 ; private javax. swing. JLabel jLabel7 ; private javax. swing. JLabel jLabel8 ; private javax. swing. JPanel jPanel1 ; private javax. swing. JTable tabla ; // End of variables declaration }
bye men
|
|
|
6
|
Programación / Java / Re: como generar un modelo de jtable?
|
en: 18 Mayo 2011, 17:17 pm
|
alguien que se compadezca de esta pobre alma,nadie se compadeze de esta pobre alma....bueno entonces como nadie responde eso quiere decir que no me entienden..cambiare mi pregunta entonces para que me entiendan...
como puedo agregar filas dinamicamente a un jtable tengo un jtextfield si anoto 10 en el jtextfield que se generen 10 celdas osea 10 filas hacer un for o eso estoy buscando eso es dinamicamente alguien que me pudiera decir? gracias manes
|
|
|
7
|
Programación / Java / Re: como generar un modelo de jtable?
|
en: 17 Mayo 2011, 07:51 am
|
o wowwwww men sapitooo siempre iluminandome y nunca dejandome morir solooo..compadeciendote de esta pobre alma que apenas va subiendo o queriendo subir...todas las palabras las lei una y otra vez y si voy a tomar todos tus consejos: 1.-trabajar sin IDES 2.-leer codigo a mano 3.-crear entidados 4.-utlizar setters y geters 5.-modelar bien el sistema 6.-utilizar bien los metodos de cada componente 7.-y estudiar mucho masss bueno mira ocupe por lo mientras el metodo que me dijste y te traigo mi primer intento esto lo puse en el metodo mouseclicked de jtable private void tablaMouseClicked (java. awt. event. MouseEvent evt ) { double total=0; for (int fila=0; fila < dtm.getRowCount(); fila++) { total = (double) (double) (total + (Double) dtm. getValueAt(fila, 2)); // la columna 2 es la de costo. this. montocompra. setText(Double. toString(total )); } Double iva = (Double) tabla. getValueAt(tabla. getSelectedRow(), 1); jTextFieldIVA. setText(Double. toString(iva )); Double costo = (Double) tabla. getValueAt(tabla. getSelectedRow(), 2); jTextFieldCosto. setText(Double. toString(costo )); }
y ahora aqui esta mi imagen para ver si me dices si es bien camino o no la manera de atacar el problema... por ejmplo escribo el valor en el jtexfield y cuando doy click en cada cela me lo pone voy a intentarle como tu me acabas d comentar pasarlo a un defaultable model..aver que tal me va y te vengo a contar saludos y gracias men de vrdd gracias men
|
|
|
8
|
Programación / Java / como generar un modelo de jtable?
|
en: 17 Mayo 2011, 05:55 am
|
hola manes buenas manes...me quede atorado espero aver si alguien me puediera ayudar si no es mucha molestia.. lo que quiero hacer es si alguien me puede sugerir una manera de genrar este modelo de tabla insertando los datos de un jtable bueno este sistema lo estoy pasando a java y me pregunto como esto lo hago con java.... bueno ahora pongo la imagen que tengo hasta ahorita en java y ahora mi codigo de la tabla que llevo hasta el momento..
public class estadodeclientes extends javax.swing.JInternalFrame {
public estadodeclientes() { initComponents(); }
@SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code"> private void initComponents() {
jPanel1 = new javax.swing.JPanel(); jLabel1 = new javax.swing.JLabel(); jTextField1 = new javax.swing.JTextField(); jLabel2 = new javax.swing.JLabel(); jTextField2 = new javax.swing.JTextField(); jLabel3 = new javax.swing.JLabel(); jTextField3 = new javax.swing.JTextField(); jLabel4 = new javax.swing.JLabel(); jTextField4 = new javax.swing.JTextField(); jLabel5 = new javax.swing.JLabel(); jTextField5 = new javax.swing.JTextField(); jLabel7 = new javax.swing.JLabel(); jLabel8 = new javax.swing.JLabel(); jLabel9 = new javax.swing.JLabel(); jLabel10 = new javax.swing.JLabel(); jLabel6 = new javax.swing.JLabel(); jTextField6 = new javax.swing.JTextField(); jTextField7 = new javax.swing.JTextField(); jTextField8 = new javax.swing.JTextField(); jTextField9 = new javax.swing.JTextField(); jTextField10 = new javax.swing.JTextField(); jScrollPane1 = new javax.swing.JScrollPane(); jTable1 = new javax.swing.JTable(); jLabel11 = new javax.swing.JLabel(); jTextField11 = new javax.swing.JTextField();
setTitle("Estados de Cuenta");
jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("Estados de Cuenta"));
jLabel1.setText("Cliente:");
jLabel2.setText("Factura:");
jLabel3.setText("Impte venta :$");
jLabel4.setText("Impte. Enganche:$");
jLabel5.setText("Saldo Inicial:$");
jLabel7.setText("Dirreccion:");
jLabel8.setText("Colonia:");
jLabel9.setText("Tel. Domicilio:");
jLabel10.setText("celular:");
jLabel6.setText("Fecha:");
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); jPanel1.setLayout(jPanel1Layout); jPanel1Layout.setHorizontalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() .addContainerGap() .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() .addComponent(jLabel1) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 124, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(jPanel1Layout.createSequentialGroup() .addComponent(jLabel9) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jTextField9, javax.swing.GroupLayout.DEFAULT_SIZE, 96, Short.MAX_VALUE))) .addGap(64, 64, 64) .addComponent(jLabel2)) .addGroup(jPanel1Layout.createSequentialGroup() .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel7) .addComponent(jLabel8)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jTextField8, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jTextField7, javax.swing.GroupLayout.PREFERRED_SIZE, 122, javax.swing.GroupLayout.PREFERRED_SIZE)))) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() .addComponent(jLabel10) .addGap(18, 18, 18) .addComponent(jTextField10, javax.swing.GroupLayout.PREFERRED_SIZE, 146, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel1Layout.createSequentialGroup() .addComponent(jLabel5) .addGap(36, 36, 36) .addComponent(jTextField5, javax.swing.GroupLayout.DEFAULT_SIZE, 145, Short.MAX_VALUE)) .addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel1Layout.createSequentialGroup() .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel4) .addComponent(jLabel3)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, 96, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jTextField4, javax.swing.GroupLayout.DEFAULT_SIZE, 145, Short.MAX_VALUE)))) .addGroup(jPanel1Layout.createSequentialGroup() .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(86, 86, 86) .addComponent(jLabel6) .addGap(18, 18, 18) .addComponent(jTextField6, javax.swing.GroupLayout.PREFERRED_SIZE, 52, javax.swing.GroupLayout.PREFERRED_SIZE))) .addGap(58, 58, 58)) ); jPanel1Layout.setVerticalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() .addGap(20, 20, 20) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel1) .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(18, 18, 18) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addGroup(jPanel1Layout.createSequentialGroup() .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel7) .addComponent(jTextField7, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(18, 18, 18) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel8) .addComponent(jTextField8, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))) .addGroup(jPanel1Layout.createSequentialGroup() .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel3) .addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(10, 10, 10) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel4) .addComponent(jTextField4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(11, 11, 11)))) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel2) .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))) .addGroup(jPanel1Layout.createSequentialGroup() .addContainerGap() .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel6) .addComponent(jTextField6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel5) .addComponent(jTextField5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(18, 18, 18) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel9) .addComponent(jLabel10) .addComponent(jTextField9, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addComponent(jTextField10, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) );
jTable1.setModel(new javax.swing.table.DefaultTableModel( new Object [][] { {new Integer(1), null, null, null, null}, {new Integer(2), null, null, null, null}, {new Integer(3), null, null, null, null}, {new Integer(4), null, null, null, null}, {new Integer(4), null, null, null, null}, {new Integer(6), null, null, null, null}, {new Integer(7), null, null, null, null}, {new Integer(8), null, null, null, null}, {new Integer(9), null, null, null, null}, {new Integer(10), null, null, null, null}, {new Integer(11), null, null, null, null}, {new Integer(12), null, null, null, null} }, new String [] { "No. Pagos", "Fecha VCTO", "Fecha de Pago:", "Importe:", "Cobrador" } ) { Class[] types = new Class [] { java.lang.Integer.class, java.lang.Object.class, java.lang.Object.class, java.lang.Double.class, java.lang.Integer.class };
public Class getColumnClass(int columnIndex) { return types [columnIndex]; } }); jScrollPane1.setViewportView(jTable1);
jLabel11.setText("Saldo Actual:");
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(20, 20, 20) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(10, 10, 10) .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 561, javax.swing.GroupLayout.PREFERRED_SIZE)) .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addContainerGap(63, Short.MAX_VALUE)) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() .addContainerGap(366, Short.MAX_VALUE) .addComponent(jLabel11, javax.swing.GroupLayout.PREFERRED_SIZE, 74, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(jTextField11, javax.swing.GroupLayout.PREFERRED_SIZE, 108, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(128, 128, 128)) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 229, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(31, 31, 31) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel11) .addComponent(jTextField11, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) );
pack(); }// </editor-fold>
// Variables declaration - do not modify private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel10; private javax.swing.JLabel jLabel11; 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.JPanel jPanel1; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JTable jTable1; private javax.swing.JTextField jTextField1; private javax.swing.JTextField jTextField10; private javax.swing.JTextField jTextField11; private javax.swing.JTextField jTextField2; private javax.swing.JTextField jTextField3; private javax.swing.JTextField jTextField4; private javax.swing.JTextField jTextField5; private javax.swing.JTextField jTextField6; private javax.swing.JTextField jTextField7; private javax.swing.JTextField jTextField8; private javax.swing.JTextField jTextField9; // End of variables declaration
}
ahora mi pregunta es como la puedo genrar automaticamente si hacerlo con un for como algo como estoo.... y en vez de el value ponerle setvalue...alguien me puede ayudar siii? te antemano muchas gracias double total=0; for (int fila=0; fila < dtm.getRowCount(); fila++) { total = (double) (double) (total + (Double) dtm.getValueAt(fila, 2)); // la columna 2 es la de costo. this.montocompra.setText(Double.toString(total)); }
|
|
|
9
|
Programación / Java / diferentes maneras de generar un reporte en java?
|
en: 13 Mayo 2011, 18:30 pm
|
bueno esto esta algo enredado,lo que quiero hacer es generar un reporte de una consulta en java,pára eso ocupo ireport y librerias jasper report...ahora aqui viene mi problema...yo creo el reporte en ireport lo diseño..lo pongoe n una ubicacion y lo mando a llamar el jrxml,me lo compila y me lo manda en pantalla.....pero estaba pensando..si alguien de ustedes me podria decir la manera en que se puede ser automaticamente... Oseaa tomar la tabla que esta activa con los registros y mandar el reporte asi automatico como hacen los sistemas de oxxo del walrtmart etc... bueno con este codigo automaticamente me manda a imprimir......esto seria una private void btnImprimirActionPerformed (java. awt. event. ActionEvent evt ) { try { //Mensaje de encabezado //Mensaje en el pie de pagina //Imprimir JTable tabla. print(JTable. PrintMode. NORMAL, headerFormat, footerFormat ); Logger.getLogger(frmImprimir_JTable.class.getName()).log(Level.SEVERE, null, ex); } }
ahoraa me pregunto si tal si le paso un query y de ese query me genera el reporte,perooo el reporte lo tengo que diseñar...con ireport...sigo buscando de como hacer esto pasando un query y que de ahi me genere el reporte..algo como esto package imprimir_jtable; import net.sf.jasperreports.engine.*; import net.sf.jasperreports.engine.export.*; import net.sf.jasperreports.engine.util.*; import net.sf.jasperreports.view.*; import java.sql.*; import java.io.*; import java.util.*; public class Main { public Main() { } public static void main (String[] args ) { // TODO code application logic here try { //Ruta de Archivo Jasper String fileName ="C:\\Users\\Hacker\\Desktop\\rep_cli.jasper"; //Ruta de archivo pdf de destino String destFileNamePdf ="C:\\Users\\Hacker\\Desktop\\rep_cli.pdf"; //Ruta de archivo xls de destino String destFileNameXls ="C:\\Users\\Hacker\\Desktop\\rep_cli.xls"; //Pasamos parametros al reporte Jasper. Object put = parameters. put("sql_query", new String("select * from categorias")); //Preparacion del reporte (en esta etapa se inserta el valor del query en el reporte). JasperPrint jasperPrint =JasperFillManager. fillReport(fileName, (Map) put,getConnection ()); //Creación del PDF JasperExportManager.exportReportToPdfFile(jasperPrint,destFileNamePdf); //Creación del XLS JRXlsExporter exporter = new JRXlsExporter(); exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint); exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, destFileNameXls); exporter. setParameter(JRXlsExporterParameter. IS_ONE_PAGE_PER_SHEET, Boolean. TRUE); exporter.exportReport(); } { System. out. println(e. getMessage()); } } /**Metodo para crear la conexion a DB*/ //Configuración de la conexión. String driver = "com.mysql.jdbc.Driver"; String connectString = "jdbc:mysql://127.0.0.1:3306/almacen"; Class.forName(driver); //Retornamos la conexión establecida. return conn; } }
esta otra manera encontre donde se le pasan las columnas y las filas pero ahi ya estan declaradas como seria para pasarle un query me lo genere de ese resultado....aqui ocupan la libreria libreria itext package imprimir_jtable; import java.awt.BorderLayout; import java.awt.Graphics2D; import java.awt.Shape; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.io.FileOutputStream; import java.io.IOException; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTable; import javax.swing.JToolBar; import com.lowagie.text.Document; import com.lowagie.text.DocumentException; import com.lowagie.text.PageSize; import com.lowagie.text.pdf.PdfContentByte; import com.lowagie.text.pdf.PdfWriter; public class JTable2Pdf extends JFrame { public JTable2Pdf() { setTitle("JTable test"); createToolbar(); createTable(); }); } private void createTable() { {"Mary", "Campione", "Snowboarding", new {"Alison", "Huml", "Rowing", new {"Kathy", "Walrath", "Chasing toddlers", {"Mark", "Andrews", "Speed reading", new {"Angela", "Lih", "Teaching high school", new Integer(4), new Boolean(false)} }; {"First Name", "Last Name", "Sport", "# of Years", "Vegetarian"}; table = new JTable(data, columnNames ); // Use a panel to contains the table and add it the frame } private void createToolbar() { print(); } }); exit(); } }); tb.add(printBtn); tb.add(exitBtn); } /////////ojoo aqui es para imprimir el pdf private void print() { try { PdfWriter writer = PdfWriter. getInstance(document, new FileOutputStream("C:\\Users\\Hacker\\Desktop\\myy_jtable_fonts.pdf")); document.open(); PdfContentByte cb = writer.getDirectContent(); // Create the graphics as shapes cb.saveState(); Graphics2D g2 = cb. createGraphicsShapes(500, 500); // Print the table to the graphics Shape oldClip = g2. getClip(); g2.clipRect(0, 0, 500, 500); table.print(g2); g2.setClip(oldClip); g2.dispose(); cb.restoreState(); document.newPage(); // Create the graphics with pdf fonts cb.saveState(); g2 = cb.createGraphics(500, 500); // Print the table to the graphics oldClip = g2.getClip(); g2.clipRect(0, 0, 500, 500); table.print(g2); g2.setClip(oldClip); g2.dispose(); cb.restoreState(); e.printStackTrace(); System. err. println(e. getMessage()); } document.close(); } /** * Exit app */ private void exit() { } public static void main (String[] args ) { JTable2Pdf frame = new JTable2Pdf(); frame.pack(); frame.setVisible(true); frame.print(); frame.exit(); } }v
y esto me da como resultado esto... no se si ustedes me podria ayudar o dar alguna sugerenciaa de como han ustedes trabajado con esto y solucionado,si no es mucha molestiaa...de antemano muchas gracias saludos...maness.... seguire buscando en el sen sei google e ir implementando aver si me sale algo decente ..
|
|
|
10
|
Programación / Java / Re: Validar usuario y contraseña
|
en: 13 Mayo 2011, 17:46 pm
|
hola mennn..si no es muy tarde..te djo esto..se que te servira yo pase por eso tambien pidiendo ayuda y ahora me toca ayudar es un jframe cambia los valores por los tuyos..si tienes dudas preguntalas men saludos package accesosimple; import javax.swing.*; import javax.swing.*; import javax.swing.*; import java.io.*; import java.sql.*; import java.awt.Panel.*; import java.awt.*; import java.awt.event.*; public class ingreso extends javax. swing. JFrame { public ingreso() { super("INGRESO-VALIDACION DE USUARIO"); initComponents(); setTitle("Autentificacion de usuarios"); setSize(500,390); // Tamanio del Frame setResizable(false); // que no se le pueda cambiar el tamanio //Centrar la ventana de autentificacion en la pantalla Dimension tamFrame =this. getSize();//para obtener las dimensiones del frame Dimension tamPantalla =Toolkit. getDefaultToolkit(). getScreenSize(); //para obtener el tamanio de la pantalla setLocation((tamPantalla.width-tamFrame.width)/2, (tamPantalla.height-tamFrame.height)/2); //para posicionar setVisible(true); // Hacer visible al frame } @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code"> private void initComponents() { jpnl_login = new javax. swing. JPanel(); btnlogin = new javax. swing. JButton(); btncancelar = new javax. swing. JButton(); lblusuario = new javax. swing. JLabel(); lblacceso = new javax. swing. JLabel(); lblpasswd = new javax. swing. JLabel(); txtUser = new javax.swing.JFormattedTextField(); setName("login"); // NOI18N jpnl_login. setBorder(javax. swing. BorderFactory. createTitledBorder("VALIDACION DE USUARIO")); btnlogin.setText("Login"); public void actionPerformed (java. awt. event. ActionEvent evt ) { btnloginActionPerformed(evt); } }); btncancelar.setText("Cancelar"); public void actionPerformed (java. awt. event. ActionEvent evt ) { btncancelarActionPerformed(evt); } }); lblusuario.setText("Usuario:"); lblacceso. setFont(new java. awt. Font("Trebuchet MS", 1, 12)); lblacceso. setForeground(new java. awt. Color(255, 102, 102)); lblacceso.setText("ACCESO-VALIDACION DE USUARIO"); lblpasswd.setText("Password:"); public void actionPerformed (java. awt. event. ActionEvent evt ) { txtUserActionPerformed(evt); } }); javax.swing.GroupLayout jpnl_loginLayout = new javax.swing.GroupLayout(jpnl_login); jpnl_login.setLayout(jpnl_loginLayout); jpnl_loginLayout.setHorizontalGroup( jpnl_loginLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jpnl_loginLayout.createSequentialGroup() .addContainerGap() .addComponent(btnlogin, javax.swing.GroupLayout.PREFERRED_SIZE, 74, javax.swing.GroupLayout.PREFERRED_SIZE) . addPreferredGap(javax. swing. LayoutStyle. ComponentPlacement. RELATED, 140, Short. MAX_VALUE) .addComponent(btncancelar) .addGap(89, 89, 89)) .addGroup(jpnl_loginLayout.createSequentialGroup() .addGroup(jpnl_loginLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) .addGroup(javax.swing.GroupLayout.Alignment.LEADING, jpnl_loginLayout.createSequentialGroup() .addComponent(lblusuario, javax.swing.GroupLayout.PREFERRED_SIZE, 82, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(txtUser)) .addGroup(javax.swing.GroupLayout.Alignment.LEADING, jpnl_loginLayout.createSequentialGroup() .addComponent(lblpasswd, javax.swing.GroupLayout.PREFERRED_SIZE, 82, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(txtPass, javax.swing.GroupLayout.PREFERRED_SIZE, 93, javax.swing.GroupLayout.PREFERRED_SIZE))) .addGap(209, 209, 209)) .addGroup(jpnl_loginLayout.createSequentialGroup() .addGap(47, 47, 47) .addComponent(lblacceso, javax.swing.GroupLayout.PREFERRED_SIZE, 213, javax.swing.GroupLayout.PREFERRED_SIZE) . addContainerGap(128, Short. MAX_VALUE)) ); jpnl_loginLayout.setVerticalGroup( jpnl_loginLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jpnl_loginLayout.createSequentialGroup() .addGap(16, 16, 16) .addComponent(lblacceso) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jpnl_loginLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(lblusuario, javax.swing.GroupLayout.PREFERRED_SIZE, 22, javax.swing.GroupLayout.PREFERRED_SIZE) .addGroup(jpnl_loginLayout.createSequentialGroup() .addGap(28, 28, 28) .addComponent(txtUser, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))) .addGap(36, 36, 36) .addGroup(jpnl_loginLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(lblpasswd, javax.swing.GroupLayout.PREFERRED_SIZE, 22, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(txtPass, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) . addPreferredGap(javax. swing. LayoutStyle. ComponentPlacement. RELATED, 80, Short. MAX_VALUE) .addGroup(jpnl_loginLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(btnlogin) .addComponent(btncancelar)) .addGap(25, 25, 25)) ); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(37, 37, 37) .addComponent(jpnl_login, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) . addContainerGap(24, Short. MAX_VALUE)) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addComponent(jpnl_login, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) . addContainerGap(javax. swing. GroupLayout. DEFAULT_SIZE, Short. MAX_VALUE)) ); pack(); }// </editor-fold> private void txtUserActionPerformed (java. awt. event. ActionEvent evt ) { } private void btnloginActionPerformed (java. awt. event. ActionEvent evt ) { ingreso ap=new ingreso(); ap.setVisible(false); try { //chekar si el usuario escrbio el nombre de usuario y pw if (txtUser.getText().length() > 0 && txtPass.getText().length() > 0 ) { // Si el usuario si fue validado correctamente if( validarUsuario( txtUser.getText(), txtPass.getText() ) ) //enviar datos a validar { int answer = JOptionPane. showConfirmDialog(null, "BIENVENIDO DESEA CONTINUAR", "ACCCESO", JOptionPane. YES_OPTION); { setVisible(false); principal start = new principal(); start.show(); } // Codigo para mostrar la ventana principal setVisible(false); //VentanaPrincipal ventana1 = new VentanaPrincipal(); //ventana1.show(); } else { JOptionPane. showMessageDialog(null, "El nombre de usuario y/o contrasenia no son validos."); JOptionPane. showMessageDialog(null, txtUser. getText()+" " +txtPass. getText() ); txtUser.setText(""); //limpiar campos txtPass.setText(""); txtUser.requestFocusInWindow(); } } else { JOptionPane. showMessageDialog(null, "Debe escribir nombre de usuario y contrasenia.\n" + "NO puede dejar ningun campo vacio"); } } { e.printStackTrace(); } } private void btncancelarActionPerformed (java. awt. event. ActionEvent evt ) { // String message = "REALMENTE DESEA SALIR DEL SISTEMA"; String title = "Acceso Al Sistema"; { System. exit(0); // clicked yes } { // clicked no } } { try { //nombre de la BD: bdlogin //nombre de la tabla: usuarios // id integer auto_increment not null <--llave primaria // campos: usuario char(25) // password char(50) Class.forName("com.mysql.jdbc.Driver"); // Preparamos la consulta Statement instruccionSQL = unaConexion. createStatement(); ResultSet resultadosConsulta = instruccionSQL. executeQuery ("SELECT * FROM usuario WHERE nombre='"+elUsr +"' AND password='"+ elPw +"'"); if( resultadosConsulta.first() ) // si es valido el primer reg. hay una fila, tons el usuario y su pw existen return true; //usuario validado correctamente else return false; //usuario validado incorrectamente } { e.printStackTrace(); return false; } } public static void main (String args []) { public void run() { new ingreso().setVisible(true); } }); } // Variables declaration - do not modify private javax. swing. JButton btncancelar ; private javax. swing. JButton btnlogin ; private javax. swing. JPanel jpnl_login ; private javax. swing. JLabel lblacceso ; private javax. swing. JLabel lblpasswd ; private javax. swing. JLabel lblusuario ; private javax.swing.JFormattedTextField txtUser; // End of variables declaration }
|
|
|
|
|
|
|