Estoy creando una aplicación Java que procesará algo y luego necesita mostrar un mensaje para dar su opinión.¿La forma más rápida de crear un diálogo de mensaje de Java (swing/awt/other)?
Sin embargo, parece ser increíblemente lento, tardando más de dos segundos en regresar.
Me desnudé la fuente hasta el culpable aparente, y aquí es el código utilizado:
package SwingPlay;
import javax.swing.JFrame;
public class Dialog
{
public static void main(String[] args)
{
JFrame frame = new JFrame("DialogDemo");
}
}
estoy ejecutando esto desde la línea de comandos:
java -classpath . SwingPlay.Dialog
como se puede ver - No hago nada más que crear un JFrame, ni siquiera mostrarlo.
En caso de que sea relevante, aquí está mi java -version
de salida:
java version "1.6.0_11"
Java(TM) SE Runtime Environment (build 1.6.0_11-b03)
Java HotSpot(TM) Client VM (build 11.0-b16, mixed mode, sharing)
Y esto es (actualmente) que se ejecuta en contra Win XP SP2.
Entonces, primera pregunta: ¿Por qué es tan lento?
Lo que es más importante, solo quiero que se muestre un mensaje simple (GUI, no cmdline) sin demora. ¿Alguien puede proporcionar algún código para hacer esto?
Actualización:
Un poco de historia podría ser útil:
Estoy creando una aplicación que tendrá muchas 'cabezas' (es decir, diferentes interfaces de usuario todos con las mismas clases básicas que se pueden hacer las partes complejas).
Actualmente tengo una cabeza de línea de comando pura que funciona bien, responde de inmediato.
También tendré una aplicación estándar con un punto regular & haga clic en GUI, y no preveo problemas con este bit.
En lo que estoy trabajando actualmente es un híbrido de estos dos: se lanzará desde un cuadro Ejecutar (o un iniciador similar), posiblemente con argumentos, y solo necesita responder, efectivamente, con un mensaje de estado, que puede descartarse con presionar una tecla.
Este último es el lugar donde se enfoca la pregunta.
Aunque no me opongo a usar mi versión de línea de comandos existente con scripts de shell (¡aunque no pensé que fuera necesario!), Las respuestas existentes parecen sugerir que las cosas no se ejecutan tan rápido para mí como lo son para otros, un ejemplo toma 1460ms para mí, frente a 70ms, una diferencia significativa.
No estoy buscando mostrar una imagen estática, sino una parte dinámica de texto. Para decirlo de otra manera, quiero redireccionar stdout a un cuadro de mensaje GUI. Si realmente uso System.out.println vuelve lo suficientemente rápido, pero obviamente no en el formato correcto. –