• Domingo 28 de Abril de 2024, 19:48

Mostrar Mensajes

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


Mensajes - silverfox

Páginas: 1 2 [3] 4 5 ... 12
51
Java / Re: Versiones De Java
« en: Miércoles 10 de Enero de 2007, 08:10 »
Hola...

Aquí tienes la convención de versionado para la JSDK.

en general, cuanto más a la izquierda está el número que varía, más profundos son los cambios. El cambio del primer número (o sea, de la 1.x a la 2.x) suele implicar grandes cambios estructurales, cosa que no le ha ocurrido (aún) a Java2.

Aquí tienes la web donde indica qué es cada numerito que ves.

http://java.sun.com/j2se/versioning_naming.html



Un saludo.



Silverfox

52
Java / Re: Impedir Ejecucion Multiple.
« en: Miércoles 10 de Enero de 2007, 08:05 »
Hola...

Bienvenido al foro.



No buscaste correctamente en internet, jejeje.

Echa un vistazo a esto:

http://forum.java.sun.com/thread.jspa?thre...ssageID=4118900

Espero que te sirva.




Un saludo.



Silverfox

53
Java / Re: Imagen Editada
« en: Lunes 8 de Enero de 2007, 09:28 »
Hola...

getClass().getResource() devuelve un objeto URL que puedes devolver como File, si puedes, imprímelo por consola. Sigo pensando que el fallo está en el classpath que te está cogiendo el getResource(). Si lo has ejecutado con éxito con otras imágenes, pero en el mismo directorio que la que no te funciona, puede que sea del formato de la imágen. ¿Has comprobado que no te tira ninguna excepción el programa? ¿Qué diferencias hay entre la imágen que no tira y las que sí? ¿Es más grande que las otras? ¿Otro format? ¿más colores?



Esperamos tus respuestas.
Un saludo.





Silverfox

54
Java / Re: Imagen Editada
« en: Viernes 5 de Enero de 2007, 08:34 »
Hola...

Es muy complicado imaginar el erro que te está dando.

No debería darte problemas ninguna imágen, haya sido o no editada con el Paint o con cualquier otro programa. Por favor, aclara si lo que no te aparece es la imágen en la ventana nueva o si, directamente, lo que no aparece es la ventana.

Si no aparece la ventana, echa un vistazo al tamaño que le has puesto, si la haces visible y si te da algún tipo de excepción que impida que tu código se ejecute correctamente.


Por último, si puedes postear parte del código, seguramente alguien pueda decirte algo más.



Un saludo.







Silverfox

55
Java / Re: Sun Certification
« en: Viernes 5 de Enero de 2007, 08:28 »
Hola...

No, no lo soy. Aún no me he decidido para hacer el exámen, pero sí que los he visto. Algunos son complicadillos, porque tienes que conocer bien los métodos de las clases, aunque no suele haber cosas demasiado raras, pueden pillarte en alguna dudilla.



Que tengas suerte.






Silverfox

56
Java / Re: Imagen En Paquete
« en: Jueves 4 de Enero de 2007, 15:16 »
Hola...

Unas cosas:

¿Tienes todas las imágenes en la misma carpeta? ¿Cuál es la carpeta de las imágenes? ¿y del programa? ¿Qué estructura de paquetes tiene?


Echa un vistazo al API, en la clase Class, el método getResource(String) para que veas por qué puede estar fallando. Todo depende de la clase que llame al getResource.



Un saludo.




Silverfox

57
Java / Re: Diagrama De Barras O Similar
« en: Jueves 4 de Enero de 2007, 15:04 »
De nada, el freecharts era la segunda opción. También es muy bueno.





Un saludo.








Silverfox

58
Java / Re: Sun Certification
« en: Jueves 4 de Enero de 2007, 12:05 »
Jejeje...


Tienes razón, pero de todas formas, eso es sólo dónde comprar el exámen. Por lo que yo he leído en otros sitios, ellos te envían el exámen a una academia o similar donde pueden hacértelo. Lo único es que les mandes un e-mail preguntando dónde tendrías que ir a hacerle. Supongo que, al no tener un centro específico en Costa Rica, tendrás que esperar más para recibir el exámen y luego la respuesta, pero no deberías tener problema ninguno.



Un saludo.






Silverfox

59
Java / Re: Sun Certification
« en: Miércoles 3 de Enero de 2007, 12:32 »
Hola...

Para la certificación de SUN:


http://www.sun.com/training/certification/java/scjp.xml

En el lateral derecho: Purchase an exam y en la página siguiente elige un país.


Espero que te sirva.


Un saludo.



Silverfox

60
Java / Re: Consulta Jframe
« en: Miércoles 3 de Enero de 2007, 12:26 »
Hola...

Cuando ejecutas un System.exit() estás saliendo del programa, lo que significa que la máquina virtual termina la ejecución, por eso se te cierra, no solo esa ventana, sino todas las demás. Para que no ocurra, tendrás que usar, bien la constante DISPOSE_ON_CLOSE, que destruye la ventana, bien HIDE_ON_CLOSE, que la hace invisible, pero que no la destruye, por lo que con setVisible(true) podrás mostrarla de nuevo tal y como el usuario la dejó.


Y para hacer que los items del ComboBox sean invisibles, lo mejor es quitarlos. Usa los métodos remove.



Un saludo.



Silverfox



PD: Para próximas ocasiones, por favor, quita el Bloq. Mays. Gracias. ;)

61
Java / Re: Jtabbedpane's Agregar Listener Al Seleccionar..
« en: Miércoles 3 de Enero de 2007, 12:17 »
Hola...

Como puedes ver en el API de Java, el JTabbedPane tiene un método getSelectedComponent() que te indica qué Componente se ha seleccionado (puedes distinguirlos por el nombre, mira en Component, setName y getName).

También tienes un getSelectedIndex(), que te indica en qué posición está la pestaña seleccionada.

Si todo esto no te vale, el evento ChangeEvent que se genera cada vez que cambias de pestaña tiene un dato source, que indica qué componente generó el evento. Necesitarás listeners (mira en JTabbedPane el método addChangeListener y la clase ChangeListener para hacerte una idea)



Espero que te sirva.


Un saludo.




Silverfox

62
Java / Re: Problemas Con .jar Ejecutable
« en: Miércoles 3 de Enero de 2007, 12:04 »
Hola...


Dentro de tu Jar necesitas incluir todos los Jar que no sean estándar de la JDK. El error que te da indica que no puede encontrar la clase GroupLayout, del paquete org.jdesktop, que no es de java estándar. La otra opción es darle en el manifest.mf la información que necesita (i. e. El path del jdesktop.jar) para que lo encuentre.

Yo prefiero la primera opción, siempre que sea posible.



Un saludo.





Silverfox

63
Java / Re: Modificando Jtable
« en: Miércoles 3 de Enero de 2007, 11:54 »
Hola...

Obtén los datos de tu BD con un ResultSet y muéstralos por tu tabla.

Si tu implementación de ResultSet lo permite (depende de los drivers jdbc de tu BD), es posible modificar el ResultSet para insertar, borrar y modificar datos directamente en el ResultSet.

La otra opcion que tienes es ir guardando las modificaciones en un batch. Echa un vistazo a los métodos executeBatch y addBatch de la clase PreparedStatement, que puede hacer las veces de almacenamiento de los cambios.


Espero que te sirva.


Un saludo.


Silverfox

64
Java / Re: Diagrama De Barras O Similar
« en: Miércoles 3 de Enero de 2007, 09:33 »
Hola...

Echa un vistazo al CrystalReports, para cosas como estas en Java es de lo mejor.



Un saludo.

65
Java / Re: Reducir Los Tiempos De Ejecucion
« en: Miércoles 3 de Enero de 2007, 09:29 »
Hola...

El trabajo con cadenas es muy pesado, porque Java las trata como objetos 'fijos'. Me explico:

String a ="" es igual que String a= new String ("")

De la misma forma:

String a = (String) b + (String) c es lo mismo que String a = new String (a + B);


Si quieres evitar esto, te recomiendo que le eches un vistazo a la clase StringBuffer, que evita estos problemas.

También te recomendaría, para acelerar tu programa, que precalcules las condiciones de los bucles. Guarda en una variable 1 - prob, porque parece que prob es fijo, guarda también objeto.getSize(), objeto.lenght y todo lo que puedas que no vaya a cambiar.


Si estás ejecutando con un interfaz gráfico, el trabajo pesado de cálculo debería de ejecutarse en una hebra aparte, echa un vistazo en internet al tema SwingWorker, que te será de mucha utilidad.

Por último, comprueba que realmente necesitasel DefaultListModel. Esta clase viene de swing e implementa un Vector, así que, si no es realmente necesario, te recomendaría que la cambiases por ésta.

Para consultar más cosas:
http://www.glenmccl.com/jperf/


Espero que te sirva.


Un saludo.

66
Java / Re: No Me Valida
« en: Jueves 21 de Diciembre de 2006, 16:20 »
Hola...

Citar
if((tecla < '0') && (tecla > '9')){

Veamos...

Si el código del '0' en ASCII es el 48 y el código del '9' es el 57... premio para tí si me dices qué número es menor que el 48 y mayor que el 57 al mismo tiempo.





Un saludo.



Silverfox

67
Java / Re: Mostrar Ruta De Archivo
« en: Jueves 21 de Diciembre de 2006, 10:39 »
Hola...


URL tiene un método getFile...


De todas formas, 'file:/ ' es el estándar de representación de recursos, es como http:// y similares.

Si te molesta para abrir el fichero con un FileInputStream, deberías plantearte usar getResourceAsStream, que te devuelve directamente un InputStream.


Espero que te sirva.


Un saludo.





Silverfox

68
Java / Re: Ayuda Para Enviar Log4j A Una Bd
« en: Jueves 21 de Diciembre de 2006, 10:32 »
Hola...

Probablemente necesites un nuevo objeto appender (si es que no hay uno ya que permita redirigir a una BD la salida).

Echa un vistazo por google, a ver si encuentras un ejemplo de creación de appender. Yo encontré la forma de redirigirlo a un TextArea. Una vez que consigas redirigirlo, ya tendrás la mitad del trabajo hecho.



Espero que te sirva.


Un saludo.



Silverfox

69
Java / Re: Eliminar Objetos
« en: Jueves 21 de Diciembre de 2006, 10:29 »
Hola...

Citar
Pues la verdad que no, lo tengo bien puesto, si no daría un error de compilación. Pero no me cambia el valor.

Jejeje, ya me imaginaba...

Prueba cambiando el método cambia a

Boolean cambia (Boolean);

y ejecútalo con b= cambia(B);

Ten en cuenta que tu problema tiene que ver con la forma de paso de los parámetros por la pila de llamadas.


Un saludo.




Silverfox

70
Java / Re: Saber Color De Componente
« en: Lunes 18 de Diciembre de 2006, 10:39 »
Hola...

Sería mejor que le pusieras el color transparente al fondo, para que no se vea sin importar dónde esté colocado ni el L&F que estés usando.

Algunos programas de edición de dibujos lo tienen. Si no, en las clases de imágenes de Java puedes definir un color como color transparente.


En última instancia, yo uso el MWSnap, que es un capturador de pantalla, que te permite también capturar colores y te los muestra en formato RGB. (El paint hace lo mismo, tendrás que capturar la pantalla primero)


Un saludo.




Silverfox

71
Java / Re: Eliminar Objetos
« en: Lunes 18 de Diciembre de 2006, 10:33 »
Hola...

Citar
public void cambia(Boolean b ){
a=new Boolean(false);
}

public class Hola ()
{
vble=new Boolean(true);
cambia(vble);
}

A lo mejor es por eso, ¿no crees? ;)


Un saludo.






Silverfox

72
Java / Re: Ocultar Ficheros De Una Extension
« en: Lunes 18 de Diciembre de 2006, 09:39 »
Hola...

Tendrás que reescribir el accept() de los filtros.

Usa uno que abra el fichero y que lea la primera línea a ve si encuentra la marca.

No lo he hecho nunca así, porque los filtros están pensados para filtrar por nombre de archivo, pero debería funcionar sin problemas. Eso sí, no te olvides de cerrar los ficheros antes de salir del método.



Suerte.




Silverfox

73
Java / Re: Ocultar Ficheros De Una Extension
« en: Viernes 15 de Diciembre de 2006, 09:22 »
Hola...

Precisamente, hice uno de esos hace poco.
Tienes que añadir al JFileChooser los FileFilter correspondientes.
En cada FileFilter, hay un accept. Si ese accept devuelve true para el nombre de tu fichero, éste se mostrará en el filtro.
Este mío admitía ficheros con extensión xls, txt, xml y csv.
Si quieres que no admita los que empiecen por a, por ejemplo, sólo genera el accept correspondiente.
Al final del todo, incluí la típica opción de 'todos los archivos' que puedes conseguir por defecto, como verás.

Código: Text
  1.           JFileChooser loader= new JFileChooser();
  2.           loader.addChoosableFileFilter(new FileFilter(){
  3.             public boolean accept(File f){
  4.               return f.getName().toLowerCase().endsWith(&#34;.xml&#34;);
  5.             }
  6.             public String getDescription(){
  7.               return &#34;Documento XML (*.xml)&#34;;
  8.             }
  9.           }
  10.           );
  11.           loader.addChoosableFileFilter(new FileFilter(){
  12.             public boolean accept(File f){
  13.               return f.getName().toLowerCase().endsWith(&#34;.xls&#34;);
  14.             }
  15.             public String getDescription(){
  16.               return &#34;Documento Microsoft Excel (*.xls)&#34;;
  17.             }
  18.           }
  19.           );
  20.           loader.addChoosableFileFilter(new FileFilter(){
  21.             public boolean accept(File f){
  22.               return f.getName().toLowerCase().endsWith(&#34;.txt&#34;) || f.getName().toLowerCase().endsWith(&#34;.csv&#34;);
  23.             }
  24.             public String getDescription(){
  25.               return &#34;Documento de texto separado por comas (*.csv, *.txt)&#34;;
  26.             }
  27.           }
  28.           );
  29.           loader.addChoosableFileFilter(loader.getAcceptAllFileFilter());    
  30.  

Espero que te sirva.



Un saludo.



Silverfox

74
Java / Re: Validar Cadenas Formadas Solo Por Letras
« en: Viernes 15 de Diciembre de 2006, 09:10 »
Hola...

Si lo que buscas es validar el contenido y devolver sólamente true / false, existe una forma más rápida de hacerlo.

Echa un vistazo al método matches(String regexp) de la clase String (está a partir de la 1.4, en versiones anteriores no existe). Con una expresión regular adecuada, podrás comprobar si tu cadena cumple las condiciones o no con una sóla instrucción (y podrás limitar o permitir tantos caracteres como quieras).

Un saludo.



Silverfox

75
Java / Re: Duda Con Swing
« en: Viernes 15 de Diciembre de 2006, 09:05 »
Hola...

Vamos a ver...

Citar
Código: Text
  1.     public class Shadowing
  2.     {
  3.            
  4.                private int x;
  5.  
  6.                public static void main(String[] args)
  7.                {
  8.                        
  9.                           x = 6
  10.                          
  11.                           int x;// variable repetida
  12.                           x = 5; // no existe error
  13.                           System.out.println(&#34;x = &#34; +x);
  14.                 }
  15.      }
  16.  

Tu código no está enmascarando nada, supongo que lo habrás escrito de memoria. De hecho, tiene un error por el que no puede ni siquiera ser compilado. (Supongo que lo habrás escrito de memoria, pero la variable Shadowing.x no existe en el main y, de existir, ni siquiera se tendría acceso a ella, porque la definiste como privada. Cuestión de visibilidad).

Pero bueno, se ve bastante bien el ejemplo de enmascaramiento que querías mostrar.

Ciertamente, en tu aplicación existe ese efecto colateral (porque no es un error, en realidad, todo está bien). Por cierto... ¿para qué comparas en el evento con la fuente del mismo? ¿No es más fácil añadir un ActionListener a cada botón por separado, o es que se requiere lo que estás haciendo aquí?


Citar
Código: Text
  1.  public class A
  2.  {
  3.  
  4.     private String nombre;
  5.     private String apellido;
  6.  
  7.     public A()
  8.     {
  9.  
  10.         nombre = new String();
  11.         apellido = new String();
  12.     }
  13.  
  14.    public A(String nombre, String apellido)
  15.    {
  16.  
  17.        this();
  18.        this.nombre = nombre;
  19.        this.apellido = apellido;
  20.    }
  21.  
  22. }
  23.  

Aquí estás generando 2 veces las variables de String... new String() genera una cadena vacía, y luego la estás sustituyendo por una constante, en el constructor con parámetros.
Naturalmente, son 2 objetos que tienen localizaciones de memoria diferentes, pero no veo en qué se diferencia este código de uno mío un poco más arriba en esta misma discusión.


Citar
Lo de equals lo comprendo, sé que compara referencias en la memoria.
No entendiste del todo:

Como todos habreis podido observar, el == siempre compara referencias en memoria de las variables, lo que significa que a==b significa, no que a y b sean dos objetos iguales, sino que son el mismo (como ya dije antes).

Por contra, el método equals() funciona de forma un poco diferente:
Object.equals(), JButton.equals() y otros, sí comparan referencias a memoria, porque es el comportamiento por defecto de equals(). Sin embargo, otras (como String, Integer y otras), comparan contenidos.
Por si a alguien le interesa saber cuáles sí y cuales no, echad un vistazo al interfaz Comparable. Lo habitual es que, si una clase implementa este interfaz, también tenga sobreescrito el método equals, según las especificaciones del API de Java (1.4.2 y 1.5.0, según he comprobado)



Un saludo.




Silverfox

Páginas: 1 2 [3] 4 5 ... 12