Swing Standardschriftart (OS-basierend)

Status
Nicht offen für weitere Antworten.

diggaa1984

Top Contributor
Hallo,

nachdem ich heute erfahren durfte, das unter Ubuntu kein Courier New standardmäßig existiert, und daher mein Programm ne Expception wirft ^^ .. wollte ich mal nachfragen ob es möglich ist eine Art Standardschriftart des Betriebssystems per Java auszulesen.
Idealerweise mit monospaced letters, aber das kann man ja dann zur Not per Dialog umstellen.

EDIT: momentan sieht das im Code so aus
Java:
/** */
private final Color DEFAULTFONTFOREGROUND = Color.BLACK;
	
/** */
private final String DEFAULTFONTFAMILY = "Courier New";
	
/** */
private final int DEFAULTFONTSIZE = 12;
 
Zuletzt bearbeitet:

diggaa1984

Top Contributor
hm wenn ich dann aber die Schrift auslesen möchte um sie in meinem Dialog bereits zum Erscheinen zu selektieren .. dann muss ich ja diese
Code:
DEFAULTFONTFAMILY
irgendwie setzen.
 

diggaa1984

Top Contributor
Guck mal hier, ist ne coole Website: Font (Java Platform SE 6)

mit meinen >1100 beiträgen kenn ich die durchaus .. kannst mir nich n bissel gezielter sagen was du mir da zeigen magst :pueh:

Szenario:
Ich erstelle Standardeinstellungen für meine Syntaxhighlighting, siehe oben ... diese landen in einem Style (GENERALFONTSTYLE_NAME). Weitherhin habe ich einen Dialog, welcher es mir ermöglicht Einstellungen bezüglich des Syntaxhighlightings vorzunehmen. Dieser Dialog muss diesen GENERALFONTSTYLE_NAME 1x aus dem Model auslesen.

So, wenn ich eine Family vorschreibe, dann kann es eben passieren das ein OS diese nicht besitzt .. BÄM Exception, wenn der Nutzer das nicht mitbekommt. Er kann das Programm ohne Probleme nutzen, Text in den Editor schreiben etc. aber beim Auslesen der Einstellungen im Dialog findet er die Family nicht, selektiert keinen Eintrag und wenn der Nutzer dann auf OK drückt, schmierts Programm ab, da ich kein null-Value erlaube beim Speichern der Einstellungen, macht ja auch Sinn.

Inwiefern kann diese "Webseite" denn das Problem lösen?
 

ModellbahnerTT

Bekanntes Mitglied
mit meinen >1100 beiträgen kenn ich die durchaus .. kannst mir nich n bissel gezielter sagen was du mir da zeigen magst :pueh:
Dev-X hat sogar noch mehr Beiträge ;)

Inwiefern kann diese "Webseite" denn das Problem lösen?
Hast du dir die Dokumentation auch durchgelesen oder nur einmal runter und wieder hochgescrollt?

dokumentation hat gesagt.:
Physical and Logical Fonts

The Java Platform distinguishes between two kinds of fonts: physical fonts and logical fonts.
Physical fonts are the actual font libraries containing glyph data and tables to map from character sequences to glyph sequences, using a font technology such as TrueType or PostScript Type 1. ...

Logical fonts are the five font families defined by the Java platform which must be supported by any Java runtime environment: Serif, SansSerif, Monospaced, Dialog, and DialogInput. These logical fonts are not actual font libraries. Instead, the logical font names are mapped to physical fonts by the Java runtime environment.
 

diggaa1984

Top Contributor
Status
Nicht offen für weitere Antworten.

Oben