Sonderzeichen auf Titelleiste

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Moin,

kann mir einer bitte einen Ratschlag geben? Ich habe folgendes Problem:

Mir gehen die Sonderzeichen auf der Titelleiste verloren (Sonderzeichen aus UTF-8 charset - nicht die Ä, Ö, Ü's).

Beim debuggen auf Eclipse ist noch alles Richtig. An der Stelle
Code:
...
setTitle(title);
...
sehe ich den Wert für title noch richtig (Eclipse ist auf UTF-8 gestellt). Wie kann ich die Titelleiste angeben, dass er UTF-8 Kodierung anzeigt?

Danke für eure Hilfe
 

Ariol

Top Contributor
Versuch mal Unicode-Zeichen zu verwenden (siehe Zeichentabelle).
z.B.:

ü = \u00FC
ʮ = \u02AE
ᴂ = \u1D02
 
G

Guest

Gast
Das Hatte ich auch schon versucht. Aber vielleicht mache ich es falsch. Hast du einen Tip hierfür?
Code:
StringBuffer sb = new StringBuffer();

StringBuffer ersetzt= new StringBuffer();
...
for(int i = 0; i < sb.length(); i++) {
   int c = (int) sb.charAt(i);
   if (c > 255) {
      // Hier hänge ich??? Wie kann ich den alle Zeichen die größer 255 sind (also nicht in ISO sind) als Unicode darstellen?
      ersetzt.append("\uXXXX");			    			
   } else {
      ersetzt.append(sb.charAt(i));
   }
}
...
setTitle(ersetzt);

Die Titelleiste setzt sich aus unterschiedlichen Komponenten zusammen die sich in einem StringBuffer wieder finden (sb). Die Sonderzeichen daraus durch Unicode ersetzen (durch \uXXXXX).
 

Ariol

Top Contributor
warum schreibst du deinen Text nicht direkt?

Code:
sb.append("M\u00FCller");

oder so:
Code:
String titeltext = ersetzt.toString();
titeltext.replaceAll('ü','\u00FC');
setTitle(titeltext);
 
G

Guest

Gast
Ariol hat gesagt.:
warum schreibst du deinen Text nicht direkt?

Code:
sb.append("M\u00FCller");
Ich weiß nicht welche Sonderzeichen auftreten können. Deshalb iteriere ich durch den StringBuffer und ersetze ich (oder versuche ich) die Sonderzeichen durch Unicode Notationen zu ersetzen (\uXX).
Ariol hat gesagt.:
oder so:
Code:
String titeltext = ersetzt.toString();
titeltext.replaceAll('ü','\u00FC');
setTitle(titeltext);
Finde ich auch Ok, wenn man es irgendwie generisch machen kann?!? Ich möchte gerne eine Mappingtabelle vermeiden.
 

Ariol

Top Contributor
Du könnest mal folgendes versuchen:

Code:
byte[] text = sb.toString().getBytes( "UTF-8" ); 
String titeltext = new String( text, "UTF-8" );

Vielleicht funktioniert das.

Und du solltest statt StringBuffer lieber StringBuilder verwenden.
 
G

Guest

Gast
Ariol hat gesagt.:
Du könnest mal folgendes versuchen:

Code:
byte[] text = sb.toString().getBytes( "UTF-8" ); 
String titeltext = new String( text, "UTF-8" );

Vielleicht funktioniert das.
geht leider nicht :-(
Ariol hat gesagt.:
Und du solltest statt StringBuffer lieber StringBuilder verwenden.
Verwenden hier immernoch Java 1.4 :-(

Die Sonderzeichen bekomme ich nur durch die Notation rein \uXX. Aber dummerweise funzt das hier nicht
Code:
...
int c = (int) sb.charAt(i);
...
char cc = "\u" + c;
:)
 

Ariol

Top Contributor
Ich glaub nicht dass es was ändert, aber:
Code:
String s = "üöäüöäüöäüöää";
Charset cs = Charset.forName( "UTF-16" );
		System.out.println(cs.encode(s).asCharBuffer().toString());

Vielleicht hilft auch dass:
Code:
char c = 'ö';
		String s = Integer.toHexString(c);
		for(int i = 4; i >= s.length(); i--)
		{
			s = 0 + s;
		}
Damit bekommst du den Code als String, wie du da jetzt allerdings einen einzelnen char draus machst.
Also für ö bekommst du so "00F6".

Und das hier könnte auch noch interessant sein.
http://www.galileocomputing.de/open...04_008.htm#mj50612da94ec80c04af22397c896c7c9c
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
izoards JavaFX TextFlow - Sonderzeichen AWT, Swing, JavaFX & SWT 1
A Sonderzeichen bei Swing AWT, Swing, JavaFX & SWT 3
C Swing JTextField Funktion zuweisen - Löschen von Buchstaben/Sonderzeichen AWT, Swing, JavaFX & SWT 6
S Swing Textfeld Sonderzeichen Blockiern AWT, Swing, JavaFX & SWT 2
F AWT DnD von Dateien mit Sonderzeichen funktioniert unter Linux nicht AWT, Swing, JavaFX & SWT 3
padde479 Sonderzeichen AWT, Swing, JavaFX & SWT 2
C JTextArea Zeilenumbrüche und Sonderzeichen maskieren AWT, Swing, JavaFX & SWT 2
A Titelleiste soll Pfad ausgeben AWT, Swing, JavaFX & SWT 16
C Swing In der Titelleiste den Namen und den vollständigen Pfad bzw URL des aktuellen Dokuments anzeigen AWT, Swing, JavaFX & SWT 25
P JFrame schrumpft bei Doppelklick auf die Titelleiste AWT, Swing, JavaFX & SWT 0
llabusch Titelleiste Dokumentenname und Pfad/URL anzeigen AWT, Swing, JavaFX & SWT 2
C JFrame ohne Titelleiste, aber mit Borders AWT, Swing, JavaFX & SWT 2
kodela Swing Icon in der Titelleiste "festnageln" AWT, Swing, JavaFX & SWT 6
K Swing Titelleiste zweckentfremden AWT, Swing, JavaFX & SWT 5
F Titelleiste von JDialog ausblenden mit Synthetica L&F AWT, Swing, JavaFX & SWT 2
S Swing JInternalFrame: Titelleiste entfernen AWT, Swing, JavaFX & SWT 5
hdi JFrame Titelleiste anpassen & setDefaultCloseOperation() AWT, Swing, JavaFX & SWT 3
janrode Schmale Titelleiste für JDialog AWT, Swing, JavaFX & SWT 3
K Titelleiste ihrer Funktionen berauben AWT, Swing, JavaFX & SWT 6
G JFrame Titelleiste AWT, Swing, JavaFX & SWT 2
G Dialog ohne Titelleiste AWT, Swing, JavaFX & SWT 8
G Uhrzeit in der Titelleiste eines Fensters anzeigen? AWT, Swing, JavaFX & SWT 9
J Problem mit eigener Titelleiste und MouseMotionListener AWT, Swing, JavaFX & SWT 2
M JDialog ohne Titelleiste AWT, Swing, JavaFX & SWT 2
welterde Menü in der Titelleiste des JInternalFrame AWT, Swing, JavaFX & SWT 4
T JDialog - Titelleiste immer aktiv lassen AWT, Swing, JavaFX & SWT 4
L Hilfebutton in Titelleiste oder gute Alternative AWT, Swing, JavaFX & SWT 2
T JFrame - eigene Titelleiste AWT, Swing, JavaFX & SWT 8
M Frame ohne Titelleiste AWT, Swing, JavaFX & SWT 6
C Icon in der Titelleiste und Taskbar AWT, Swing, JavaFX & SWT 2
S Titelleiste ändern AWT, Swing, JavaFX & SWT 12
A Titelleiste entfernen AWT, Swing, JavaFX & SWT 4
T JInternalFrame ohne Titelleiste AWT, Swing, JavaFX & SWT 2
D Fenster ohne Titelleiste AWT, Swing, JavaFX & SWT 2
C Höhe der Titelleiste in JInternalFrame AWT, Swing, JavaFX & SWT 4
G Icon in der Titelleiste von JDialog setzen AWT, Swing, JavaFX & SWT 11
bummerland Fenster ohne Buttons ín der Titelleiste AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen


Oben