Ich erstelle eine Java-Anwendung, die eine gewisse Verarbeitung durchführt und dann eine Nachricht anzeigen muss, um dem Benutzer Feedback zu geben.Schnellste Möglichkeit zum Erstellen eines Java-Nachrichtendialogs (swing/awt/other)?
Allerdings scheint es unglaublich langsam zu sein - dauert über zwei Sekunden, um zurückzukehren.
ich die Quelle nach unten auf die scheinbaren Täter beraubt, und hier ist der Code verwendet:
package SwingPlay;
import javax.swing.JFrame;
public class Dialog
{
public static void main(String[] args)
{
JFrame frame = new JFrame("DialogDemo");
}
}
ich dies von der Kommandozeile mit der Ausführung:
java -classpath . SwingPlay.Dialog
Wie Sie sehen können - Ich mache nichts anderes, als einen JFrame zu erstellen und ihn nicht einmal anzuzeigen.
Falls es relevant, hier ist mein java -version
Ausgabe:
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)
Und das ist (derzeit) läuft gegen Win XP SP2.
Also, erste Frage: Warum ist es so langsam?
Noch wichtiger, ich möchte nur eine einfache Nachricht (GUI, nicht Cmdline) ohne Verzögerung angezeigt werden - kann jemand einige Code zur Verfügung stellen, um dies zu tun?
Update:
Ein bisschen Hintergrund nützlich sein könnte:
ich eine Anwendung bin zu schaffen, die viele ‚Köpfe‘ (dh unterschiedliche Benutzeroberflächen alle mit den gleichen Kern-Klassen haben zu tun die komplexen Teile).
Ich habe derzeit einen reinen Befehlszeilenkopf, der gut funktioniert - reagiert sofort.
Ich habe auch eine Standardanwendung mit einem regulären Punkt & klicken Sie auf GUI, und sehen Sie keine Probleme mit diesem Bit.
Woran ich gerade arbeite, ist eine Mischung aus diesen beiden - es wird von einer Run-Box (oder einem ähnlichen Launcher) gestartet, möglicherweise mit Argumenten, und muss nur effektiv mit einer Statusmeldung antworten, die abgewiesen werden kann mit einem Tastendruck.
In letzterem ist die Frage konzentriert.
Während ich nicht dagegen bin, meine vorhandene Kommandozeilenversion mit Shellskripten zu verwenden (obwohl ich nicht dachte, dass es notwendig wäre!), Scheinen die vorhandenen Antworten darauf hinzudeuten, dass die Dinge für mich nicht so schnell laufen für andere - ein Beispiel dauert 1460ms für mich, gegenüber 70ms - ein signifikanter Unterschied.
Ich bin nicht auf der Suche nach einem statischen Bild, sondern ein dynamisches Stück Text. Um es anders auszudrücken, ich möchte Stdout zu einer GUI-Message-Box umleiten. Wenn ich tatsächlich System.out verwende.println es kommt schnell genug zurück, aber offensichtlich nicht im richtigen Format. –