Verzögertes schliessen der Konsole

Status
Nicht offen für weitere Antworten.

Denny

Mitglied
Hallo,

wenn mein Programm gestartet wird soll die Console eigentlich geschlossen sein, das erreiche ich auch mit:

start javaw ....

Doch da mein Program 2-3 Sekunden brauch bis alles initialisiert ist und das GUI sich öffnet, soll in der Zeit die Konsole offen bleiben und dem Anwender ein paar Infos geben. Wie kann ich dies erreichen?

Gruß Denny
 
G

Guest

Gast
@thE_29
habe den Link aus deinem topic mal durchgelesen. Wollte dann die Beispiele mal testen, doch leider fliegt mir das programm bei der zeile immer raus:

Code:
 Class.forName("MyApp").getMethod("main", new Class[] {String[].class})
            .invoke(null, new Object[] {args});

Fehlermeldung:
java.lang.ClassNotFoundException: MyApp
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at test.MyAppSplash.main(MyAppSplash.java:69)

aber die Klasse ist im selbem Package, warum findet er sie nicht?
 

thE_29

Top Contributor
Es steht sogar ein Kommentar dort....

//statt MyApp einfach eure alte Hauptklasse reinmachen


ist das so schwer zu lesen/verstehen?
 

Denny

Mitglied
Hehe,

ich habe die drei Beispieldateien genommen und die Main heißt da auch "MyApp" aber er findet sie nicht.
Habe ein test package mit den Files MyApp, MyAppSplash und SplashWindow. Da müsste er doch normalerweise MyApp finden oder?
 

thE_29

Top Contributor
du mußt die komplette Packagedeklaration reinschreiben!!


Also, net nur MyApp sondern alles!


Nachtrag: wenn du das ganze Bsp gelesen hättest, also ganz unten vom 1. Beitrag, issen Bsp mit Packages!
 

Denny

Mitglied
danke für den hinweis, jetzt funktioniert es. Aber warum muss ich das komplette package angeben, wenn die Klassen im gleichen liegen?
Gibts es denn sonst eine Möglichkeit die Konsole verzögert zu schliessen?
 

thE_29

Top Contributor
Sowas was ich dort drinnen mache, nennt man Reflection!

Man kann es noch dynamischer machen und den String erst zur Laufzeit von eimem Objekt holen, etc.

Via Reflection kann man auf Dinge zugreifen/verändern, die zur Laufzeit noch gar nicht da sind!

Nachtrag: beim starten von einem Programm, muß man ja auch die package.deklaration.hauptklasse angeben, ebenfalls dort!

Wenn man keine Packages hat, dann einfach nur die Hauptklasse rein!


Außerdem was meinst du mit verzögert schließen, ich kann dem net ganz folgen :>
 

Denny

Mitglied
Die Sache mit der Reflection habe ich schon verstanden. Nur ist das Problem wenn ich ein neues Frame erzeuge funktioniert meine Initialisierung einer Schnittstelle nicht mehr. Ich muss dieses als erstes Aufrufen, und dieses kann leider ein paar Sekunden dauern. Der Anwender kann natürlich denken das er das Programm nicht gestartet hat.
Deshalb wäre es wünschenswert wenn in der Konsole ausgeben wird das die Schnittstelle initialisiert wird und nach dieser Initialisierung wird die Konsole geschlossen.
Aber ich denke mal das dies nicht möglich ist oder?
 

thE_29

Top Contributor
Mh, du kannst alles via dem Splashloader aufrufen!

Zeig mal wie du es normalerweise aufrufst und wie du es zz aufrufst!
 

Denny

Mitglied
Das Aufrufen funktioniert alles wunderbar, nur sobald ich eine neues Objekt mit new vor der Schnittstelleninitialisierung erzeuge ist es vorbei und meine Schnittstelle wird nicht mehr initialisert.

So funktioniert es:

Code:
Artisan.init();
new GUI();

so nicht mehr:

Code:
new GUI();
Artisan.init();

Da ich auch mit dem Splashloader ein neues Objekt der Klasse SplashWindow erzeuge, funktioniert es leider auch nicht:

Code:
SplashWindow w = new SplashWindow(f, splashImage);

Danach funktioniert meine Initialisierung nicht mehr. Daher kann ich es leider nicht verwenden, obwohl es genau das machen würde was ich möchte.
 

thE_29

Top Contributor
Dann mach dir eine statische Methode und rufe diese via den Splashloader auf und in der statischen Methode machst du deine Aufrufe!

Btw.: mit dem da oben, kann ich net viel anfangen ;) Hoffe aber dass das so geht!
 

Denny

Mitglied
Die init() ist statisch:

Code:
public static void init(){
...
}

Das Problem ist das Erzeugen von Objekten. Ich könnte es im Splashloader aufrufen aber nur bevor

Code:
SplashWindow w = new SplashWindow(f, splashImage);

aufgerufen wird. Und das bringt mir ja auch wenig, eher wohl nichts. :cry: Da dann das Bild erst nach der init() erzeugt wird.

Daher war ja mein Gedanke in der Konsole ein paar Infos auszugeben und diese nach der init() zu schliessen. Aber dies ist ja meines Wissen leider nicht möglich.
 

thE_29

Top Contributor
Du sagst hier einfach:

Class.forName("MyApp").getMethod("main", new Class[] {String[].class})
.invoke(null, new Object[] {args});

du rufst deine Methode main auf und in main, schreibst du zuerst init und dann new hin!


Ich verstehe einfach deine Problematik net...
 

Denny

Mitglied
Ja das würde ja auch funktionieren wenn ich vorher nicht ein neues SplahWindow erzeuge. Ab da geht es nicht mehr, frag mich nicht warum. Ich habe in meinem Programm ja die init() vor dem new GUI() stehen. Das funktioniert auch wunderbar, solange ich vorher nicht ein neues SplashWindow erzeuge.
 

thE_29

Top Contributor
Das hört sich komisch an!

Ich würde den ganzen Source brauchen, bin aber bis 04.03. Urlaub!

Wenns dringend ist, pn!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M StdDraw-Fenster schliessen Allgemeine Java-Themen 1
I JFrame vor schliessen, methode auführen Allgemeine Java-Themen 2
B JavaPanels langsam schliessen und öffne Allgemeine Java-Themen 6
R0m1lly BinärBaum auf Konsole ausgeben Allgemeine Java-Themen 9
Master3000 Java Konsole über Buffered Reader Zeilenweise auslesen ? Allgemeine Java-Themen 26
Master3000 Komisches Zeichen als Ausgabe in der Konsole Allgemeine Java-Themen 20
el_niiinho13 Objekt auf der Konsole ausgeben lassen Allgemeine Java-Themen 8
S Wörterliste nach Wörtern mit u durchsuchen und diese auf der Konsole ausgeben lassen Allgemeine Java-Themen 33
L Eclipse Konsole im exportierten Programm Allgemeine Java-Themen 2
R Warum wird mir in der Konsole das "Standard Array" ausgegeben? Allgemeine Java-Themen 2
G Excel Datum richtig auf der Konsole ausgeben Allgemeine Java-Themen 1
M Cmd Konsole als Java Konsole Allgemeine Java-Themen 5
Joker4632 Methoden Befehl an bereits extern geöffnete Programm-spezifische Konsole senden Allgemeine Java-Themen 1
R .txt Datei einlesen und auf der Konsole ausgeben lassen Allgemeine Java-Themen 11
A Befehle in Konsole. Allgemeine Java-Themen 12
L Input/Output Wie kann man in der Konsole einen Text farbig ausgeben z.b in grün Allgemeine Java-Themen 6
Neumi5694 Swing GUI vs Konsole Allgemeine Java-Themen 4
T Input/Output Konsole gibt trotz printf keine Umlaute aus Allgemeine Java-Themen 17
B Farbiger Text in der Konsole Allgemeine Java-Themen 1
RalleYTN JAnsi Warum bleiben die Hintergrundfarben beim Reseten der Konsole? Allgemeine Java-Themen 0
C .jar File lässt sich nur über Konsole öffnen Allgemeine Java-Themen 1
W Java Konsole "aufteilen" Allgemeine Java-Themen 4
G Warnung in der Konsole von Eclipse "WARNING: ..." Allgemeine Java-Themen 2
B Text in die Mitte der Konsole schreiben. Allgemeine Java-Themen 1
L Konsole gibt Smileys aus Allgemeine Java-Themen 3
T Mit Java auf die Konsole eines Process-Objekts zugreifen Allgemeine Java-Themen 10
Kaniee Konsole "mitlesen" Allgemeine Java-Themen 6
P .Jar Datein Windows Konsole zugewiesen Allgemeine Java-Themen 3
L Input/Output ProcessBuilder und Windows - Konsole verbergen? Allgemeine Java-Themen 5
T Methoden In Konsole tasten abfangen? Allgemeine Java-Themen 4
S exec( "cmd /c") aber Konsole soll offen bleiben Allgemeine Java-Themen 9
J Java-Klasse über Konsole starten Allgemeine Java-Themen 6
cedi Eingegebenen Text in der Konsole nicht sichtbar machen oder nur in Sternchen anzeigen Allgemeine Java-Themen 2
R java in der konsole nicht gefunden trotz jre,jdk,home und path Allgemeine Java-Themen 4
Y Anwendung starten(JAR) - Entscheidung Konsole oder Swing Allgemeine Java-Themen 5
P Java Konsole zur Laufzeit einblenden Allgemeine Java-Themen 4
D Windows-Konsole auslesen - Zeichenkodierung Allgemeine Java-Themen 4
N GUI und zusätzlich Konsole Allgemeine Java-Themen 4
M Problem bei einer Baumausgabe auf der Konsole Allgemeine Java-Themen 3
X Konsole aktualisieren Allgemeine Java-Themen 17
neonfly Anzahl Zeichen pro Zeile auf der Konsole Allgemeine Java-Themen 8
Z Java Programm - xxxxx auf der Konsole ausgeben Allgemeine Java-Themen 4
F Unterstrichenes U in Eclipse-Konsole ausgeben Allgemeine Java-Themen 10
M Enter Taste in Konsole abfragen Allgemeine Java-Themen 2
B Ausgabe auf der Konsole bei Nebenläufigkeit, Threads und Synchronisation Allgemeine Java-Themen 8
Z Swing vs Konsole Allgemeine Java-Themen 17
E Gibt es Befehle für Kursor auf Konsole ? Allgemeine Java-Themen 3
? Swing Anwendung aus Konsole starten Allgemeine Java-Themen 7
S Error aus der Konsole auslesen Allgemeine Java-Themen 2
T Feststellen ob System-Konsole verfügbar Allgemeine Java-Themen 2
S Rückmeldung von Konsole(Batch) an Java Allgemeine Java-Themen 2
G jar datei MIT Konsole Allgemeine Java-Themen 5
zilti Java-Konsole auslesen? Allgemeine Java-Themen 10
S Aufruf in Konsole mit beliebig vielen Argumenten? Allgemeine Java-Themen 18
M Java Klassen funktioner auf Konsole nicht in Eclipse Allgemeine Java-Themen 4
V JavaProgramm von Konsole starten geht nichtmehr Allgemeine Java-Themen 4
J Threads + Dualcore = Probleme mit dem Output auf der Konsole Allgemeine Java-Themen 12
Saxony DOS Konsole und deren Streams Allgemeine Java-Themen 5
M Pfeiltasten in Konsole Allgemeine Java-Themen 2
F Konsole Allgemeine Java-Themen 2
T Konsole "Fehlermeldung": error hereerror here Allgemeine Java-Themen 4
B Unterschied: jar <-> konsole Allgemeine Java-Themen 9
R Javaprogramm von der Konsole starten Allgemeine Java-Themen 4
M einzelne Tastendrücke von der Konsole einlesen Allgemeine Java-Themen 3
V Befehle von der Konsole einlesen und Escape-Sequenzen. Allgemeine Java-Themen 2
A Ausdrucken von Konsole Allgemeine Java-Themen 4
rambozola anzahl zeichen in konsole eclipse begrenzt? Allgemeine Java-Themen 5
N Konsole im eigenen Java-Programm Allgemeine Java-Themen 4
S java Programme über Konsole starten Allgemeine Java-Themen 5
L char-Zeichen per Konsole einlesen Allgemeine Java-Themen 4
M Unter MacOS einen Befehl auf Konsole ausführen? Allgemeine Java-Themen 6
J Probleme mit der CommApi beim ProgrammStart über Konsole Allgemeine Java-Themen 2
V Konsole leeren Allgemeine Java-Themen 13
B Konsole: Bildschirm löschen Allgemeine Java-Themen 9
S Programm über Konsole startet nicht Allgemeine Java-Themen 2
A ChatProgramm für Konsole Allgemeine Java-Themen 3
L Dos Konsole mit Java auslesen ? Allgemeine Java-Themen 2
C Die Konsole ins eigene Programm einbauen Allgemeine Java-Themen 5
S Bildschirm in Konsole löschen? Allgemeine Java-Themen 6

Ähnliche Java Themen


Oben