Foro Oficial de Java

sairus black

Lanero Reconocido
19 Ene 2008
1,848
mmm.. interesante... yo te ayudo pero primero necesito mas información...

Lo primero... si puedes dame la parte del codigo donde lo estás haciendo (la parte que consideres importante).

Lo segundo... Realmente estás mandando a imprimir el objeto graphics o estás imprimiendo solo el objeto imagen?... es muy raro porque la otra vez yo hice una vaina de esas y me salió a la perfección... Debería checkear el codigo (solo lo correspondiente a la impresion) y si es posible tomate una foto del canvas para pillar...

Suerte!

PSD: ¿Cómo estás metiendo los datos? ¿En forma de JLabels dentro del canvas ó en escribiendolos con drawString?

bueno primero le estoy pasando el objeto Graphics que obtengo de Canvas.getGraphics....segundo estoy escribiendo con drawString y tercero gracias por el interes la verdad el codigo es un desastre y seguro voy a tener que rehacerlo...seguro pronto lo posteo...de casualidad vro no tendras un ejemplillo por hay mira que ver uno funcionando ayuda bastante...jeje gracias.
 

eds

Lanero Reconocido
17 Mar 2005
110
amigo ps ya lo pude hacer y sin necesidad de sacar el codigo solo con una herramineta que todos conocemos. el Winrar lo unico que hice fui abrir el archivo Spark.jar donde viene la libreria de imagenes y ya abierto (acalro abierto mas no extraido), en vez de extraer la carpeta lo unico que hice fue insertar las imagenes que quiero y remplazar las que ya estaba y listo me esta corrienndo y todo ahora solo me queda hacer todo el proyecto de nuevo ejecutable, osea hacer un archivo de instalacion para los usuarios de mi red, he leido que con el install4j se puede pero la vrdad no le se mucho estoy buscando por la matrix haber que encuentro pero tambn les vuelvo a pedir ayuda, y gracias htobon por tu ayuda
 

htobon

Lanero Reconocido
16 Oct 2007
149
bueno primero le estoy pasando el objeto Graphics que obtengo de Canvas.getGraphics....segundo estoy escribiendo con drawString y tercero gracias por el interes la verdad el codigo es un desastre y seguro voy a tener que rehacerlo...seguro pronto lo posteo...de casualidad vro no tendras un ejemplillo por hay mira que ver uno funcionando ayuda bastante...jeje gracias.

Aquí te escribo el código... lo hice y me funcionó la escritura del drawString("...").
Espero te sirva... y de paso tambn te hice un dibujo artistico a mi manera jaja...

Ah.. se me olvidaba... Cuando lo ejecutes te crea un archivo ImagenPrueba.jpg que se guarda en el disco C:/

Bueno.. igual viendo la simplicidad del codigo te podes dar cuenta de lo que hice...

Muchas suerte con eso...:)


Código:
package paquete;

import java.awt.Color;
import java.awt.Graphics;
import java.awt.Polygon;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Random;

import com.sun.image.codec.jpeg.ImageFormatException;
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageEncoder;

public class Clase {

    public static void main(String[] args) {

        // Le asignamos un tamaño a la imagen
        int width = 300, height = 300;

        // Creamos una imagen con ese tamaño y con su correspondiente formato de
        // color
        BufferedImage imagen = new BufferedImage(width, height,
                BufferedImage.TYPE_INT_RGB);

        // obtenemos el objeto en el que dibujar
        Graphics g = imagen.getGraphics();

        // rellenamos el fondo
        g.setColor(Color.white);
        g.fillRect(0, 0, width, height);

        // creamos 1 poligono de puntos aleatorios
        Polygon poligono = new Polygon();
        Random aleatorio = new Random();
        for (int i = 0; i < 20; i++) {
            poligono.addPoint(aleatorio.nextInt(width), aleatorio
                    .nextInt(height - 10));
        }

        // rellenamos el poligono de color
        g.setColor(Color.blue);
        g.fillPolygon(poligono);

        // Escribiendo créditos:
        g.setColor(Color.BLACK);
        g.setFont(g.getFont().deriveFont((float) 10));
        g.drawString("Creado por Héctor Fabio Tobón R.", 130, 290);

        // Ejecutamos el metodo Dispose para finalizar
        g.dispose();

        // Se crea un flujo de datos, en este caso será FileOutPutStream, aunque
        // podés utilizar cualquier otro.

        FileOutputStream out;
        try {
            out = new FileOutputStream(new File("C:/ImagenPrueba.jpg"));

            // Se decodifica la imagen y se envía al flujo.
            JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
            encoder.encode(imagen);

        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (ImageFormatException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

}

mmm... se me olvidaba.... De la misma forma como sacas la imagen podes darle la opcion para imprimir...
Lo que pasa es que ando en finales y pues estoy cogido de tiempo.. (Este codigo ya lo tenia guardado)....
De todas formas la proxima semana te colaboro bien.. suerte
 

htobon

Lanero Reconocido
16 Oct 2007
149
Ja!.. no me aguanté las ganas de averiguarte lo de la impresion y pues aquí te puse el codigo completico del anterior solo que no con una imagen sino con la impresión...

Espero le sirva...

NOTA: El codigo anterior no lo borré con el objetivo que otras personas aprendan a crear imagenes a partir de un objeto Graphics...

Mucha suerte!




Código:
package imprimir;

import java.awt.Color;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Polygon;
import java.awt.PrintJob;
import java.awt.image.BufferedImage;
import java.awt.print.PrinterJob;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Random;

import com.sun.image.codec.jpeg.ImageFormatException;
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageEncoder;

public class Clase {

    /**
     * @param args
     */
    public static void main(String[] args) {

        // Le asignamos un tamaño a la imagen
        int width = 300, height = 300;
//Se crea un frame tan solo para extraerle el Graphics
        Frame frame = new Frame();
        frame.setSize(width, height);
        PrintJob impresion = frame.getToolkit().getPrintJob(frame, "IMPRESION!!",null );
        

        // obtenemos el objeto en el que dibujar
        Graphics g = impresion.getGraphics();

        // rellenamos el fondo
        g.setColor(Color.white);
        g.fillRect(0, 0, width, height);

        // creamos 1 poligono de puntos aleatorios
        Polygon poligono = new Polygon();
        Random aleatorio = new Random();
        for (int i = 0; i < 20; i++) {
            poligono.addPoint(aleatorio.nextInt(width), aleatorio
                    .nextInt(height - 10));
        }

        // rellenamos el poligono de color
        g.setColor(Color.blue);
        g.fillPolygon(poligono);

        // Escribiendo créditos:
        g.setColor(Color.BLACK);
        g.setFont(g.getFont().deriveFont((float) 10));
        g.drawString("Creado por Héctor Fabio Tobón R.", 130, 290);

        // Ejecutamos el metodo Dispose para finalizar
        g.dispose();
        
//Para que la impresora finalice el trabajo e imprima la hoja
        impresion.end();    
        
    }

}

El codigo anterior lo saqué de:
http://www.itapizaco.edu.mx/paginas/JavaTut/froufe/parte13/cap13-12.html
y le hice uno pequeños cambios.

NOTA: Google el gran maestro... la clave del éxito es saber buscar!
 

juanchibiris

Xtreme Hardware ventas y el mejor servicio técnico
Miembro del equipo
Lanero VIP
11 Nov 2006
11,434
@juanchibiris, pero en tu algoritmo tambien escribirias el "y" en caso de q los numeros sean iguales pq al no cumplirse la primera condicion entra al else


PHP:
i < --- 1
MientrasQ(i <= 50)
| Escriba("Digite un par de numeros")
| Lea x, y
| Si( x > y)
|   | Escriba(x)
| Sino
|   |  Si(x < y)
|   |  | Escriba(y)
|   |  Sino
|   |  | Escriba("Los numeros son iguales")
|   |  Fin.Si
|  Fin.Si
|  i <--- i + 1
Fin.MientrasQ
Saludos

Huy si que pena no me di cuenta de ese pequño error, gracias
 

zetapower

Lanero Regular
11 Feb 2008
78
[FONT=&quot]Hola a todos tengo un problema y no he podido solucionarlo.[/FONT]
[FONT=&quot]Tengo la siguiente estructura[/FONT]
[FONT=&quot] [/FONT]
[FONT=&quot]C:[/FONT]
[FONT=&quot] |__Programa1[/FONT]
[FONT=&quot] | Programa1.jar[/FONT]
[FONT=&quot] |[/FONT]
[FONT=&quot] |__Programa2[/FONT]
[FONT=&quot] | Programa2.jar[/FONT]
[FONT=&quot] |[/FONT]
[FONT=&quot] |__Librerias[/FONT]
[FONT=&quot] Libreria1.jar[/FONT]
[FONT=&quot] Libreria2.jar[/FONT]
[FONT=&quot] Libreria3.jar[/FONT]
[FONT=&quot] [/FONT]
[FONT=&quot]Explicando un poco para aquellos perdidos. jeje[/FONT]
[FONT=&quot]Programa1, Programa2 y librerias son carpetas[/FONT]
[FONT=&quot]Programa1.jar, Programa2.jar son los Jar que contiene el archivo MANIFEST.MF, obvio q cada Jar es un programa diferente.[/FONT]
[FONT=&quot]Libreria1.jar, Libreria2.jar y Libreria3.jar más que obvio, son las librerías que utilizan mis programas.[/FONT]
[FONT=&quot] [/FONT]
[FONT=&quot]La pregunta es la siguiente teniendo una estructura similar. Como le digo al jar ósea Programa1.jar en este caso q me cargue las librerías.[/FONT]
[FONT=&quot] [/FONT]
[FONT=&quot]He hecho las siguientes configuraciones en el archivo MANIFEST.MF del archivo Programa1.jar[/FONT]
[FONT=&quot] [/FONT]
[FONT=&quot]Nota: Según tengo entendido los dos puntos “..” es para indicarle q se salga de una carpeta.[/FONT]
[FONT=&quot] [/FONT]
[FONT=&quot]1. Configuración (Con los “/” delante de los dos puntos ..)[/FONT]
[FONT=&quot]Manifest-Version: 1.0[/FONT]
[FONT=&quot]Created-By: Fat Jar Eclipse Plug-In[/FONT]
[FONT=&quot]Main-Class: principals.Principal[/FONT]
[FONT=&quot]Class-Path: /../librerias/Libreria1.jar /../librerias/Libreria.jar /../librerias/Libreria3.jar[/FONT]
[FONT=&quot] [/FONT]
[FONT=&quot]2. Configuración[/FONT]
[FONT=&quot]Manifest-Version: 1.0[/FONT]
[FONT=&quot]Created-By: Fat Jar Eclipse Plug-In[/FONT]
[FONT=&quot]Main-Class: principals.Principal[/FONT]
[FONT=&quot]Class-Path: ../librerias/Libreria1.jar ../librerias/Libreria.jar ../librerias/Libreria3.jar[/FONT]
[FONT=&quot] [/FONT]
[FONT=&quot]Ninguna de las dos configuraciones funciono.[/FONT]
[FONT=&quot] [/FONT]
[FONT=&quot]Mi pregunta como hago para decirle que me cargue las libreria1.jar libreria2.jar libreria3.jar[/FONT]
[FONT=&quot] [/FONT]
[FONT=&quot]De Antemano gracias.[/FONT]
 

sairus black

Lanero Reconocido
19 Ene 2008
1,848
Ja!.. no me aguanté las ganas de averiguarte lo de la impresion y pues aquí te puse el codigo completico del anterior solo que no con una imagen sino con la impresión...
Espero le sirva...
Mucha suerte!.......

hey bro no se como agradecerte...la verdad vi mucho codigo en google pero como he dicho antes el codigo de las webs lo entiende la mamasita de tarzan y el que lo hizo porque que tipos tan desordenados...sin embargo asi aprendi a imprimir en modo texto...bueno como sea aqui en la comu es el unico sitio donde se encuentra codigo ordeanado y bien comentariado.....como sea mil gracias ahora mismo lo adapto a mi proyecto falta ver si la impresora de punto imprime bien...jeje...hay te va tu Karma (a proposito como se hace un K++, no se como se hace...asi que va normalito jeje.)...una vez terminado el proyecto lo subo a badongo y pongo la url por aqui jeje gracias.
 

sairus black

Lanero Reconocido
19 Ene 2008
1,848
Yo creo que eso ya no existe y la unica manera de dar karmas actualmente es la de dar karma en el incono que hay debajo a la izquierda en todos los post.

pues creo que tienes razon yo siempre le doy al chulito verde y listo....pero he leido muchos post recientes con ese cuento del k++ asi que me intrigaba el asunto.....

bueno ya hablando de programar me ha surgido la idea de realizar un jueguito a lo umbra o Yu-Gi-Oh pero en java modo applet y cargarlo en un server...el problema es que yo a los applets le jalo muy poco y al modelado grafico menos...es solo una idea y pos como estoy seguro de que solo fracasaria pongo este post por si a algun bro le interesa...al menos io ando desparchado despues del primero de junio y me parece una buena forma de aprender un poco mas sobre este rollo de programacion para la web.....cualquiera que se interese por favor escribir un mpl o a mi correo...jeje quien quita hasta terminamos armandole competencia a magic lost jeje.
 

htobon

Lanero Reconocido
16 Oct 2007
149
pues creo que tienes razon yo siempre le doy al chulito verde y listo....pero he leido muchos post recientes con ese cuento del k++ asi que me intrigaba el asunto.....

bueno ya hablando de programar me ha surgido la idea de realizar un jueguito a lo umbra o Yu-Gi-Oh pero en java modo applet y cargarlo en un server...el problema es que yo a los applets le jalo muy poco y al modelado grafico menos...es solo una idea y pos como estoy seguro de que solo fracasaria pongo este post por si a algun bro le interesa...al menos io ando desparchado despues del primero de junio y me parece una buena forma de aprender un poco mas sobre este rollo de programacion para la web.....cualquiera que se interese por favor escribir un mpl o a mi correo...jeje quien quita hasta terminamos armandole competencia a magic lost jeje.

mm.. me ha causado sensación que una gran cantidad de personas aqui les llama la atención los applets.. y pues.. en mi opinión personal, eso ya está mandado a recojer.. inclusive la mayoría de navegadores de internet los tienen bloqueados por defecto ya que en general han sido utilizado por muchos programadores para hacer daños en los equipos.

El futuro es la web 2.0, y ps.. aunque sé muy poco de eso, creo que existen formas de construirlas ayudadas de JSP y AJAX...

En fin... yo de ustedes no me interesaría por lo applets... Ya es muy tarde para eso
 

sairus black

Lanero Reconocido
19 Ene 2008
1,848
mm.. me ha causado sensación que una gran cantidad de personas aqui les llama la atención los applets.. y pues.. en mi opinión personal, eso ya está mandado a recojer.. inclusive la mayoría de navegadores de internet los tienen bloqueados por defecto ya que en general han sido utilizado por muchos programadores para hacer daños en los equipos.

El futuro es la web 2.0, y ps.. aunque sé muy poco de eso, creo que existen formas de construirlas ayudadas de JSP y AJAX...

En fin... yo de ustedes no me interesaría por lo applets... Ya es muy tarde para eso

la verdad creo que tenes mucha razon....esto de los applets en modo basico esta mandado a recoger....sin embargo la programcion web continua con los mismos simientos y pos aunque dije applet no tiene que ser necesariamente asi todo es que se pueda colgar el jueguito en un server pero como dije soy bastante ignorante en eso...ahora si alguien maneja jsp, ajax, fenix o cualquier otra es bien recivido la idea de esto es hacer algo nuevo y funcional.....
 

Tr0nad0r

Lanero Reconocido
8 Mar 2004
7,804
mm.. me ha causado sensación que una gran cantidad de personas aqui les llama la atención los applets.. y pues.. en mi opinión personal, eso ya está mandado a recojer.. inclusive la mayoría de navegadores de internet los tienen bloqueados por defecto ya que en general han sido utilizado por muchos programadores para hacer daños en los equipos.

El futuro es la web 2.0, y ps.. aunque sé muy poco de eso, creo que existen formas de construirlas ayudadas de JSP y AJAX...

En fin... yo de ustedes no me interesaría por lo applets... Ya es muy tarde para eso

Pues para construir un juego grafico como el que dice el compañero dudo mucho que sea una buena idea hacerlo con JSP y Ajax (No es que no se pueda, sino que resultaria muy complicado programar un juego grafico en HTML/Javascript).

Para eso puede servirte una aplicacion Java y que el usuario lo descargue via Java Web Start, o en su defecto usando otra tecnologia como Flash. :p

Saludos
 

Likibuay

Lanero Reconocido
1 Sep 2004
3,645
Pues para construir un juego grafico como el que dice el compañero dudo mucho que sea una buena idea hacerlo con JSP y Ajax (No es que no se pueda, sino que resultaria muy complicado programar un juego grafico en HTML/Javascript).

Para eso puede servirte una aplicacion Java y que el usuario lo descargue via Java Web Start, o en su defecto usando otra tecnologia como Flash. :p

Saludos

estoy contigo... tienes toda la razón..
para desarrollo de un juego en html y javascript... huyy que mameraaa
bueno pero cada loco con su cuento..

saludo!
 

sairus black

Lanero Reconocido
19 Ene 2008
1,848
Pues para construir un juego grafico como el que dice el compañero dudo mucho que sea una buena idea hacerlo con JSP y Ajax (No es que no se pueda, sino que resultaria muy complicado programar un juego grafico en HTML/Javascript).

Para eso puede servirte una aplicacion Java y que el usuario lo descargue via Java Web Start, o en su defecto usando otra tecnologia como Flash. :p

Saludos
mira que eso fue lo primero que se me ocurrio...pero queda el problema de que a mucha jente le fastidia la idea de descargar algo y mira tambien que hay mucho que no sabe como correr un .jar....la verdad la idea de hacerlo en modo aplicacion me suena..asi que a todas estas la mejor opcion es usar fenix....asi creo la aplicacion la subo al server y el bro la corre en modo remoto sin descargas ni nada....pero eso tambien tiene sus problemas que son las politicas de seguriadad...mucho navegador no permite ese tipo de contenido...hayyyy que lio me duele la cabeza......bueno hay sigo con el lio...lo bueno que aun queda tiempo.

_________________________________________________________________________

ahora algo mas urjente...tengo un problema de estetica....es este tengo una jtable a la que le voy agragando columnas...pero al agragar una columna no se agranda la tabla sino que todas las columnas se reducen..y asi el jscrollpane sirve para nada...como arreglo eso bros..alguna idea...gracias...pregunto aca porque ni idea como busco en google...es una pregunta rara no???
 

lovo15

Lanero Regular
16 Mar 2007
48
Hola, necesito ayuda con este código que no se deja, me manda un error de clase y la verdad no se muy bien que pasa (estoy aprendiendo con un libro) intente hacer mi código a partir de los ejemplos pero algo no anda, miren lo que llevo:

PHP:
import javax.swing.JOptionPane;
public class Matriz {
public static void main(String args[]){
 
String matriz;
 
Matriz gst = new Matriz();
int b [][] = new int[3][3];
 
   gst.llena(b[][]);
// gst.imprimir(b[][]);
 
}
 
void llena(String matriz){
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
 
matriz = JOptionPane.showInputDialog( "Dame los elementos de tu arreglo de 3x3" );
b [i][j] = Integer.paserInt(matriz);
 
}
} 
} 
 
/*void imprimir (int b[][]){
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
System.out.println(b[i][j]);
}
}
System.out.println("\n");
}*/
 
}

lo que esta comentado me voa otros errores , jajaja. De todos modos habr si me pueden hechar la mano por favor.
 

hadesdark

Lanero Reconocido
4 Dic 2006
176
Bueno man, primero que todo a la prox por favor formatear el código, así es complicado de leer. Segundo tiene algunos errores por ahí, como enviar la matriz asi: llenar( b[][]), así no se hace, debe ser asi: llenar(b), con eso se le envia la matriz al método. Acá le dejo el código pa que lo revise, puse algunos comentarios por si acaso.

Código:
import javax.swing.JOptionPane;

public class Matriz
{
    String matriz;
    
    public static void main(String args[])
    {
        Matriz gst = new Matriz();//Crear instancia de la clase
        int b [][] = new int[3][3];
 
        gst.llena( b );//Se envia el array de arrays al método llena
        gst.imprimir( b );//Se envia el array de arrays al método llena
    }

    void llena( int[][] b )//Metodo llena, recibe un array de arrays
    {
        for (int i = 0; i < 3; i++)
        {
            for (int j = 0; j < 3; j++)
            {
                matriz = JOptionPane.showInputDialog("Dame los elementos de tu arreglo de 3x3");
                b[i][j] = Integer.parseInt(matriz);//Se convierte el String a entero

            }
        }
    }


    void imprimir (int b[][])//Metodo imprimir, recibe un array de arrays
    {
        for(int i=0;i<3;i++)
        { 
            for(int j=0;j<3;j++)
            {
                System.out.print(b[i][j]); //Imprime las filas
            }
            System.out.print("\n");//Da el salto de linea para pasar a la siguiente fila
        }
    }
}
Suerte y espero le sirva.
 

sairus black

Lanero Reconocido
19 Ene 2008
1,848
Ja!.. no me aguanté las ganas de averiguarte lo de la impresion y pues aquí te puse el codigo completico del anterior solo que no con una imagen sino con la impresión...

Espero le sirva...

olvide preguntarte bro...estos paquetes a que API pertenecen...

import com.sun.image.codec.jpeg.ImageFormatException;
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageEncoder;
 

htobon

Lanero Reconocido
16 Oct 2007
149
olvide preguntarte bro...estos paquetes a que API pertenecen...

import com.sun.image.codec.jpeg.ImageFormatException;
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageEncoder;

Hola... esas librerias las puedes borrar... eran del codigo anterior en donde a partir de un objeto Graphics se generaba una imagen JPG, pero para el segundo codigo no es necesario..

Suerte
 

sairus black

Lanero Reconocido
19 Ene 2008
1,848
Hola... esas librerias las puedes borrar... eran del codigo anterior en donde a partir de un objeto Graphics se generaba una imagen JPG, pero para el segundo codigo no es necesario..

Suerte

si bro en eso ya me fije...pero me queda la curiocidad...nadie sabe cuano haya que hacer un editor de imagenes...asi que podeis decirme a que API pertenecen...os lo agradeceria.