Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - hack-4-life

#1
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

Código (php) [Seleccionar]

<?php 
$enlace 
="/".$id

header ("Content-Disposition: attachment; filename=".$id." "); 

header ("Content-Type: application/octet-stream");

header ("Content-Length: ".filesize($enlace));

readfile($enlace);

?>



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:

Código (php) [Seleccionar]

<?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));
$file_extension end(explode("."$file));

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("Expires: 0");
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");
header("Content-Length: ".filesize($file));

 
readfile($file);
?>



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>&nbsp;$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.php
bueno seguire buscando como implementar para descargar multiples archivos o ficheros con direntes extensiones saludos xd y de antemano gracias!
#2
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:
Código (java) [Seleccionar]


   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  {
      static String cad=" ";
      public static String dir="";
   
   // Función de control de la aplicación
       public static void main( String[] gll ) throws IOException{
           
       
       
         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";
            System.out.println(sub);
         
            if (sub.equals(sub2)){
                  //compara imagen       
               FileReader ab = new FileReader(dir);
               BufferedReader cd = new BufferedReader(ab);
           
               int numlineas = 0,total=0;
               String Cadena="";
           
               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
            {
               JOptionPane.showMessageDialog(null, "Formato no Reconocido","Error",JOptionPane.ERROR_MESSAGE);
               System.exit(0);
            }
         
         }
             catch (FileNotFoundException e){
               e.printStackTrace();
            }
             catch (IOException d){
               d.printStackTrace();
            }
     
         new dibujo();
      }
       
       public dibujo() {
     
         this.setTitle( "Dibujo" );
         this.setSize( 350,350 );
         
         this.setVisible( true );
     
         
     
         this.addWindowListener(
                new WindowAdapter() {
                   public void windowClosing( WindowEvent evt ) {
                     System.exit( 0 );
                  }
               } );
      }
   
       
       public void paint(Graphics g){
     
         g.translate( this.getInsets().left,this.getInsets().top );
     
         byte[] sep = cad.getBytes();
         String acep="falso";
     
         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.setColor(Color.white);
                     g.fillRect( x+70,y+50,1,1);
                     x=x+1;
                  }
                 
                  if (sep[i] == 49){
                     
                     g.setColor(Color.black);
                     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]);
                  }
               
               
                                 
                  System.out.println("error");
               }
               
             
           
            }   
         
         }
         else
         {
            JOptionPane.showMessageDialog(null,"Tu Imagen no es la Correcta","Mensage",JOptionPane.INFORMATION_MESSAGE);
            System.exit(0);
           
         }
      }
   }
     
   
   




bueno espero me haya dado entender,espero me puedan ayudar...saludos...
#3
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
Código (java) [Seleccionar]


bueno primero en otra clase lo declaro con esto

      private DefaultTableModel modelo_pro;
y para ocuparlo lo ocupo asi de esta manera

modelo_pro = new DefaultTableModel();


   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

       
       

public void addProceso(String app, String usuario){
         Object [] fila = new Object[2];
         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
Código (java) [Seleccionar]


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....

  private  class FrameListener extends WindowAdapter
{
        @Override
    public void windowClosing ( WindowEvent e )
   {
   
       DefaultTableModel model = (DefaultTableModel)jTable3.getModel() ;

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
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

Código (java) [Seleccionar]

public void cargarcombo(JComboBox jcbclave_product){
try{
           Class.forName (driver);

           con = DriverManager.getConnection (url,user,pass);
           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
        } catch (Exception e){
              e.printStackTrace();


           }//fin del try



}



y ahora mando a traer mi metodo asii

Código (java) [Seleccionar]

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...


Código (java) [Seleccionar]

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" };
      DefaultCellEditor defaultCellEditor=new DefaultCellEditor(comboBox);

//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
Java / Re: como generar un modelo de jtable?
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

Código (java) [Seleccionar]

package levsym.Modulos.Interfaz.catalogo;

import java.text.SimpleDateFormat;
import java.util.GregorianCalendar;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;


public class estado extends javax.swing.JInternalFrame {



      DefaultTableModel datos = new DefaultTableModel(); // se introduce
   // 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();
        jtxt_pagos = new javax.swing.JTextField();
        jLabel7 = new javax.swing.JLabel();
        jLabel8 = new javax.swing.JLabel();
        jtxt_importe = new javax.swing.JTextField();
        jtxt_cobrador = new javax.swing.JTextField();
        jScrollPane1 = new javax.swing.JScrollPane();
        tabla = new javax.swing.JTable();
        jLabel11 = new javax.swing.JLabel();
        jTextField11 = new javax.swing.JTextField();
        b1 = new javax.swing.JButton();

        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.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {

            },
            new String [] {

            }
        ));
        tabla.getTableHeader().setReorderingAllowed(false);
        tabla.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                tablaMouseClicked(evt);
            }
        });
        jScrollPane1.setViewportView(tabla);

        jLabel11.setText("Saldo Actual:");

        b1.setText("Eliminar Todo");
        b1.addActionListener(new java.awt.event.ActionListener() {
            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());



            GregorianCalendar c = new GregorianCalendar();
            c.add(c.MONTH,1);
            for(int f=0;f <no_pag ; f ++ ) {
               Object []num={};
               datos.addRow( num );
              tabla.setValueAt( String.valueOf(f),f,0);
               tabla.setValueAt(importe,f,3);
               tabla.setValueAt(no_cobr,f,4);

               SimpleDateFormat d1 = new SimpleDateFormat("dd-MM-yyyy");

            //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.JButton b1;
    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.JScrollPane jScrollPane1;
    private javax.swing.JTextField jTextField11;
    private javax.swing.JTextField jtxt_cobrador;
    private javax.swing.JTextField jtxt_importe;
    private javax.swing.JTextField jtxt_pagos;
    private javax.swing.JTable tabla;
    // End of variables declaration                   

}







bye men :D :D :D
#6
Java / Re: como generar un modelo de jtable?
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
Java / Re: como generar un modelo de jtable?
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
Código (java) [Seleccionar]

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
Java / como generar un modelo de jtable?
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
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
Código (java) [Seleccionar]

private void btnImprimirActionPerformed(java.awt.event.ActionEvent evt) {                                            
        try {
           //Mensaje de encabezado
           MessageFormat headerFormat = new MessageFormat("Tutorial Imprimir JTables");
           //Mensaje en el pie de pagina
           MessageFormat footerFormat = new MessageFormat("ContreSpace");
           //Imprimir JTable
           tabla.print(JTable.PrintMode.NORMAL, headerFormat, footerFormat);
       } catch (PrinterException ex) {
           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
Código (java) [Seleccionar]

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.
       Map parameters = new HashMap();
           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.exit(0);
    }
    catch (Exception e)
    {
           System.out.println(e.getMessage());
    }
   }

   /**Metodo para crear la conexion a DB*/
   private static Connection getConnection() throws ClassNotFoundException, SQLException {
       //Configuración de la conexión.
       String driver = "com.mysql.jdbc.Driver";
       String connectString = "jdbc:mysql://127.0.0.1:3306/almacen";
       String user = "root";
       String password = "12345";

       Class.forName(driver);
       Connection conn = DriverManager.getConnection(connectString, user, password);

       //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
Código (java) [Seleccionar]



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 {


private JTable table;


public JTable2Pdf() {

getContentPane().setLayout(new BorderLayout());

setTitle("JTable test");

createToolbar();

createTable();

addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e)

{System.exit(0);}

});

}



private void createTable() {

Object[][] data ={

{"Mary", "Campione", "Snowboarding", new

Integer(5), new Boolean(false)},

{"Alison", "Huml", "Rowing", new

Integer(3), new Boolean(true)},

{"Kathy", "Walrath", "Chasing toddlers",

new Integer(2), new Boolean(false)},

{"Mark", "Andrews", "Speed reading", new

Integer(20), new Boolean(true)},

{"Angela", "Lih", "Teaching high school", new Integer(4), new Boolean(false)}

};

String[] columnNames =

{"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

JPanel tPanel = new JPanel(new BorderLayout());

tPanel.add(table.getTableHeader(), BorderLayout.NORTH);

tPanel.add(table, BorderLayout.CENTER);

getContentPane().add(tPanel, BorderLayout.CENTER);

}


private void createToolbar() {

JToolBar tb = new JToolBar();

JButton printBtn = new JButton("Print");

printBtn.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

print();

}

});

JButton exitBtn = new JButton("Exit");

exitBtn.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

exit();

}

});

tb.add(printBtn);

tb.add(exitBtn);

getContentPane().add(tb, BorderLayout.NORTH);

}

/////////ojoo aqui es para imprimir el pdf
private void print() {

Document document = new Document(PageSize.A4.rotate());

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();

} catch (Exception e) {

e.printStackTrace();

System.err.println(e.getMessage());

}

document.close();

}

/**

* Exit app

*/

private void exit() {

System.exit(0);

}


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
Java / Re: Validar usuario y contraseña
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

Código (java) [Seleccionar]

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();
       txtPass = new javax.swing.JPasswordField();
       txtUser = new javax.swing.JFormattedTextField();

       setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
       setName("login"); // NOI18N

       jpnl_login.setBorder(javax.swing.BorderFactory.createTitledBorder("VALIDACION DE USUARIO"));

       btnlogin.setText("Login");
       btnlogin.addActionListener(new java.awt.event.ActionListener() {
           public void actionPerformed(java.awt.event.ActionEvent evt) {
               btnloginActionPerformed(evt);
           }
       });

       btncancelar.setText("Cancelar");
       btncancelar.addActionListener(new java.awt.event.ActionListener() {
           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:");

       txtUser.addActionListener(new java.awt.event.ActionListener() {
           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);

                 if (answer == 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");
           }

        }
            catch (Exception e)
           {
              e.printStackTrace();
           }




     }                                        
 
      private void btncancelarActionPerformed(java.awt.event.ActionEvent evt) {                                            
        //
        String message = "REALMENTE DESEA SALIR DEL SISTEMA";
        String title = "Acceso Al Sistema";
                                         
        int answer = JOptionPane.showConfirmDialog(null, message, title, JOptionPane.YES_NO_CANCEL_OPTION);
                                         
        if (answer == JOptionPane.YES_OPTION)
        {
       
           System.exit(0); // clicked yes
        }
        else if (answer == JOptionPane.NO_OPTION)
        {
        // clicked no
        }
       
     }                                          

 public  boolean validarUsuario(String elUsr, String elPw)  throws IOException
     {
        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");
           Connection unaConexion  = DriverManager.getConnection ("jdbc:mysql://localhost/almacen","root", "12345");
           // 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

        }
            catch (Exception e)
           {
              e.printStackTrace();
              return false;
           }

     }




 
 
      public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(
               new Runnable() {
                  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.JPasswordField txtPass;
   private javax.swing.JFormattedTextField txtUser;
   // End of variables declaration                  
 
  }