# Fenstertitel ändern



## 2U1C1D3 (3. Jan 2011)

Hallo Community!

Vorneweg: Ich bin Anwender und habe von Java eigentlich keine Ahnung. 

Ich nutze eine in Java geschriebene Anwendung welche auf *.jar endet. Ich denke das ist normal so.
Diese Anwendung brauche ich aber mit verschiedenen Einstellungen mehrmals. So habe ich diese Anwendung in vier verschiedenen Ordnern und starte sie auch vier Mal.
Um es für mich einfacher und übersichtlicher zu machen, möchte ich den Fenstertitel der Anwendung modifizieren. So soll in der Titelleiste des Fensters und auch in der Taskleiste dann Name1, Name2,...
erscheinen.

Da ich, wie angangs erwähnt, absolut keine Ahnung habe von Java, habe ich google bemüht und mir eine Lösung erhofft - ohne Erfolg. So hoffe ich auf euere Hilfe, sofern es eine gibt.

Kann man das realisieren ohne selbst Java programmieren zu können? Geht das überhaupt ohne eine Art "Quellcode" wie bei anderen Programmen zu haben?

Danke und lacht mich bitte nicht aus :lol:
Stefan


----------



## Runtime (3. Jan 2011)

Das geht, bedingt. Dazu müsste man aber ein bisschen programmieren können.


----------



## 2U1C1D3 (3. Jan 2011)

Hallo Runtime!

Danke für die flotte Antwort! Was benötigt man dazu außer Fachwissen? Rentiert sich der Aufwand
sich für so eine Änderung einzuarbeiten?
Nein, Du sollst mir nicht das Programmieren beibringen; nur mal ein bisschen Material an die Hand geben damit ich weiß auf was ich mich einlassen würde...

Ich


----------



## Runtime (3. Jan 2011)

Man müsste das Programm dekompilieren, was eventuell die schwachstelle des ganzen Vorhabens ist, dann müsste man den Code ändern und wieder kompilieren.


----------



## darekkay (3. Jan 2011)

Zumindestens unter Windows sollte es auch ohne Dekompilieren gehen - man könnte mit einem Starter das Programm ausführen und mittels WinAPI den Titel ändern. Aber das bekommt man ohne Grundkenntnisse nicht wirklich hin.. :/

Kannst du vielleicht den Autor anschreiben und ihn um den Quellcode bitten, oder (falls er nicht dafür bereit ist) dein Fall schildern, sodass er es für dich ändert?


----------



## eeeaaaeeeaaa (3. Jan 2011)

ganz simple: texteditor hernehmen, programmdateien öffnen, stelle mit dem namen finden und ändern.


----------



## Runtime (3. Jan 2011)

Es soll für jede Instanz ein eigener Titel sein, da kann man nicht einfach die Konstanten ändern gehen.


----------



## eeeaaaeeeaaa (3. Jan 2011)

so wie ich ihn verstanden hab, hat er ein kopie in jedem verzeichnis liegen. gerade ausprobiert, geht, wenn die länge des string-literals beibehalten wird.


----------



## Runtime (3. Jan 2011)

Ups, dann geht so einfach


----------



## Marco13 (3. Jan 2011)

... wie ein Chirurg mit einer Kettensäge :noe: ...


----------



## Zerker (3. Jan 2011)

Sind das deine .jar-Dateien, deren Titel du modifizieren willst oder "fremde" Programme ?
Falls das deine sind, könnte man eine kleine GUI mit einem TextFeld bauen, an deren Inhalt sich der Titel anpasst.

Falls nicht, dann müsste man mit JNI arbeiten (Java Native Intervace), davon hab ich aber garkein Plan


----------



## Runtime (4. Jan 2011)

:autsch: Wie sollen es seine Programme sein, wenn er nichtmal programmieren kann?


----------



## darekkay (4. Jan 2011)

eeeaaaeeeaaa hat gesagt.:


> ganz simple: texteditor hernehmen, programmdateien öffnen, stelle mit dem namen finden und ändern.



Haha, schöner Hack ^^

Man sollte aber noch hinzufügen, dass man nicht die jar-Datei, sondern die passende Class-Datei editieren muss. Also jar entpacken, Class Datei mit dem Namen des Programms suchen, ersetzen, und wieder als jar verpacken - müsste so klappen


----------



## 2U1C1D3 (4. Jan 2011)

Hallo zusammen!

Also ehrlich: Ich hatte noch in keinem Forum so ein Feedback wie hier! Macht richtig Spaß :applaus:
Gut, ich habs etz soweit geschnallt, dass ich die *jar entpacke und mich auf die Suche nach einer Datei mache mit der Endung *class und dem Namen des Proggis. Find ich nicht. Ich find auch keinen passenden Namen in einer der *class Dateien. Da sind für mich irgendwie nur Hackschnipsel drinnen. Kann man das irgendwie zu Klartext konvertieren? Oder mit was muss ich diese *class betrachten?

Stefan


----------



## 2U1C1D3 (4. Jan 2011)

Verd...

Etz hab ich doch tatsächlich den Namen in einer der Dateien gefunden und nur EIN Zeichen ausgetauscht - etz geht nix mehr...


----------



## darekkay (4. Jan 2011)

Also ich hab das jetzt ein wenig mit meinem Programm getestet:
 - ich konnte ohne Probleme den Text meines Menu-Items ändern
 - ich konnte aber nicht den Fensternamen ändern.. liegt wahrscheinlich daran, dass ich den in eine andere Klasse "Constants" ausgelagert habe. Nichts, was in dieser Klasse verändert wird, wird auch übernommen oO

Aber immerhin läuft es ja noch. Ich weiß nicht, wieso es bei dir nicht mehr geht. Da ich bei Winrar die Option "als jar verpacken" nicht gefunden habe (wobei ja zip in jar umbenennen gehen müsste), habe ich die geänderte Datei einfach per Copy & Paste hinzugefügt und ersetzt.

Vielleicht kannst du das Programm ja hochladen, und die Datei nennen, in der der Name drin ist, dann können wir da selbst mal reinschauen


----------



## 2U1C1D3 (4. Jan 2011)

Danke für das Angebot mit dem Upload darekkay, aber die Rechner auf denen das Proggi läuft gestatten keinen Upload, bzw. keine Internetverbindung. ;(
Leider habe ich mittlerweile festgestellt, dass ich etwas vorschnell war:
Ich habe eine Datei mit dem Programmnamen und der Endung *.class. Alle anderen Dateien mit der Endung *class haben unterschiedliche, wenn auch ähnliche Namen. Das sind, so zählt der Windowsexplorer immerhin 2.400 Dateien.
Wenn ich jetzt anfange zu suchen, dann finde ich immer in der "Hauptdatei" den Programmnamen.

Ohne Hardcopy vom Bildschirm in Worte gefasst:
"Client.class", "Client$Ansicht.class", "Client$Ans.class", "Client$Function.class", "Client$Func.class"
"Host.class", "Host$Link.class", "Host$LinkL.class", "Host$LinkClient.class",...
"Add.class", "Add$help.class", "Add$log.class",...

Aus diesem System heraus finde ich in den Dateien "Client.class", "Host.class" und "Add.class" den Namen des Programms. Ich hatte vorhin nur von "Name" in "Nam1" geändert und schon ging nichts mehr. Und das auch nur in der Datei mit dem Namen des Programms. Rückgängig machen hat nix geholfen, musste die Datei aus dem Backup ersetzen.

Sollte ich nun irgendwie die Möglichkeit haben die Dateien von dem Rechner runter auf einen USB-Stick zu bekommen, dann sind es auf jeden Fall um die 350 bis 400 Dateien in denen der Dateiname enthalten ist *heul*

Es gibt doch sicher ein System nach dem die Dateien erstellt werden. Sorry, der Vergleich ist jetzt irgendwie ein bisschen peinlich, aber wenn ich in html etwas zusammen baue, dann habe ich eine Datei mit dem "Frontend" während die anderen Dateien im Hintergrund wurschteln und versorgt werden. Möchte ich den Titel oder das Aussehen verändern, dann bearbeite ich die Datei mit dem  Frontend. Die Funktionen im Backend bleiben unverändert.

War das jetzt zu kompliziert beschrieben?

Stefan


----------



## darekkay (4. Jan 2011)

Ich nehme an, von den ~400 Dateien, die den Namen des Programmes enthalten, ist sehr wahrscheinlich nur eine einzige für die Titelleiste verantwortlich  

Wenn sich der Entwickler Gedanken über die Programmstruktur gemacht hat, sollte es möglich sein, aus dem Namen des Ordners und der Klasse die richtige Datei zu finden. Beispielsweise deutet oft "ui", "gui" oder "swing" auf die Programmoberfläche hin. 

Wie gesagt, ohne das Programm wird dir keiner genau sagen können, welche der Dateien es ist..


----------



## 2U1C1D3 (4. Jan 2011)

Na dann werd ich mich mal auf die Suche machen und wenigstens mal die im Frage kommenden Dateien rauspicken... Zumindest hab ich die Anzahl der möglichen Dateien auf 411 begrenzt. Mit den Bezeichnungen "gui" etc. sollten wohl noch ein paar Dateien durchs Raster fallen. Mehr dazu später, jetzt is erst Mal Feierabend!  Danke für die Tipps einstweilen, Feedback kommt!

Ich


----------



## ARadauer (4. Jan 2011)

Ist die .jar groß? Kannst sie ja hier posten bzw mir per mail schicken. 
Ich schaus mir mal an.. vielleicht sind ja auch die sourcen im jar vorhanden.


----------



## darekkay (4. Jan 2011)

Das habe ich ihm auch schon angeboten, aber er kann das Programm an dem Rechner nicht hochladen und wird versuchen, es auf einen Stick zu bekommen


----------



## 2U1C1D3 (6. Jan 2011)

Hi @ll!

Danke für die Angebote mit dem Upload; ich habe es gerade eben probiert irgendwie von dem PC herunter zu bekommen - keine Chance  Ich kann mir nicht mal ne Hardcopy von nem Teil der Datei machen oder sie als txt-file speichern und dann via Mail verschicken. Keine Chance. Ich werde mich
jetzt mal in der Dateistruktur ein bisschen genauer umsehen und hoffen, dass ich dort eine der Dateien mit einer relevanten Bezeichnung finde. Wenn alle Stricke reißen, dann fotografier ich den Bildschirm mit dem Handy ab *grummel* Man kann den Datenschutz auch übertreiben...

Melde mich wieder wenn ich wenigstens ein Stück weiter gekommen bin

Grüße,
ich


----------



## asdfexcvsd (24. Apr 2011)

Also sorry dass ich so spät noch in dem Thread Krame , aber ich würde dass ganze sehr viel einfacher gestalten. 
Ich kenne zwei programme die den Tittel eines offenen Programmes ändern. eines ist ein hack für ein spiel namens metin2 ohne diesen name changer funzt dass spiel nicht.. und so bin ich darauf gekommen. der adere wäre auf dieser Seite: [Release] SetWindowTitle - Titel der geöffneten Programme ändern - Kleinkram - Visual-Basic-Forum VB-Paradise.de  extra für den Fall gemacht dass man gleiche Dateien hat die man Unterscheiden will


----------



## tuttle64 (24. Apr 2011)

2U1C1D3 hat gesagt.:


> Hi @ll!
> 
> Danke für die Angebote mit dem Upload; ich habe es gerade eben probiert irgendwie von dem PC herunter zu bekommen - keine Chance  Ich kann mir nicht mal ne Hardcopy von nem Teil der Datei machen oder sie als txt-file speichern und dann via Mail verschicken. Keine Chance. Ich werde mich
> jetzt mal in der Dateistruktur ein bisschen genauer umsehen und hoffen, dass ich dort eine der Dateien mit einer relevanten Bezeichnung finde. Wenn alle Stricke reißen, dann fotografier ich den Bildschirm mit dem Handy ab *grummel* Man kann den Datenschutz auch übertreiben...
> ...



wenn du das jar-file aufrufen kannst, dann solltest du es auch uploaden können, oder ???? wenn du es hinkriegst, könnte ich die klassen decompilieren und den code so umbauen, dass die klasse mit dem parameter title aufgerufen werden kann. aber ohne code geht nichts.


----------

