AWT drawString funktioniert nicht unter Linux

Status
Nicht offen für weitere Antworten.

dishab

Mitglied
Hallo Leute,
ich versuche ein Captcha zu programmieren. Dabei muss von einem Text ein Bild produziert werden. Um zu sehen, wie das funktioniert habe ich ein einfaces Programm geschrieben. Es funktioniert richtig unter XP und Solaris aber unter Linux wird nur der (pinke) Hintergund generiert aber kein Text.
Hier ist das Programm:

Code:
import java.awt.*;
import java.awt.image.*;
import java.io.*;
import javax.imageio.ImageIO;

public class PicTest {
	public static void main(String[] args) throws IOException {
		textToImage4();
	}
	
	public static void textToImage4() throws IOException {
		int width = 200, height = 135;
		BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
		Graphics g = image.getGraphics();
		
		g.setColor(Color.pink);
		g.fillRect(0, 0, width, height);
		
		// Font font = new Font("SERIF", Font.BOLD, 18);
		// g.setFont(font);
		
		g.setColor(Color.black);
		g.drawString("test", 46 , 54);
		
		g.dispose();
		
		ImageIO.write(image, "jpg", new File("test.jpg"));
	}
}
Ich habe auch versucht das Font zu setzen, hat aber auch nichts gebracht.
Ich verwende java -Djava.awt.headless=true ... zum starten des Programms.
Siehe auch: http://www.java-forums.org/advanced-java/5662-awt-drawstring-doesnt-work-linux.html

Bin dankbar für jeden Hinweis.
dishab
 

Wildcard

Top Contributor
Ändert sich das Verhalten wenn du nicht headless startest?
Welches AWT Toolkit verwendest du?
 

dishab

Mitglied
Ich kann dummerweise gerade nicht auf Server zugreifen. Aber ich glaube ich habe ohne "Headless" ein Exception bekommen, weil der Server kein Display hat. Ich kamme nur mit Putty darauf.
Welches AWT Toolkit? Ich verwende java 1.4. Sind da mehrere AWT-Toolkits vorhanden?
Gruss.
 

lhein

Top Contributor
Also ich habe gerade das Programm hier ausprobiert.

OS: Ubuntu
Java-Version: Sun 1.6.0.03
und
Java-Version: Sun 1.5.0.13
und
Java-Version: Blackdown 1.4.2.02

Und das Beispiel geht einwandfrei, auch im Headless Mode. (und mit allen besagten Java Versionen)

lr
 
G

Guest

Gast
Die System-Variable ist nicht gesetzt. Ich habe aber folgends probiert und hatte kein Erfolg:

java -Dawt.toolkit=sun.awt.X11.XToolkit -Djava.awt.headless=true -cp . PicTest
java -Dawt.toolkit=sun.awt.motif.MToolkit -Djava.awt.headless=true -cp . PicTest

Danach habe ich die PJA-Resourcen zum Server kopiert und folgendes ausgeführt:

java -Djava.awt.headless=true -cp pja.jar:pjatools.jar:servlet.jar PJADemo

Es wurden 3 gif-Dateien erzeugt:

PJADemoArcDrawer.gif, PJADemoPolygonDrawer.gif, PJADemoTextDrawer.gif

Die ersten zwei sehen gut aus und enthalten Grafiken. Die dritte, die Text enthalten soll, ist ein weisses Bild.
Kann das Problem daran liegen, dass es im Verzeichnis /usr/X11R6/lib/X11/fonts kein Unterverzeichnis TrueType existiert? Dieses Verzeichnis wird nämlich in einigen font.properties-Dateien referenziert.

Ich bin dankbar für jeden Hinweis.
 

dishab

Mitglied
Für die Leute, die eventuell dasselbe Problem haben:
Das Problem lag in der Tat daran, dass ich keine TrueType Fonts auf der Maschine installiert hatte und kommischerweise die Default-Fonts, die mit JDK installiert sind, keine Glyps enthielten.
Ich habe dann eine TrueType-Font 'xyz.ttf' auf dem Rechner kopiert (keine Installation, X11, ...) und dieses in Java-Programm geladen und verwendet:
Code:
   Font font = createFont(Font.TrueType, new InputStream(new File("xyz.ttf")));
   font = font.deriveFont(Font.BOLD, 14);
   g.setFont(font);
Und es hat funktioniet.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Luk10 g.drawString funktioniert nicht + Frage zur Text-Rendering Qualität AWT, Swing, JavaFX & SWT 7
C SWT autosize bei gc.drawString() auf einem Label AWT, Swing, JavaFX & SWT 7
M Graphics2D: drawString Berechnung AWT, Swing, JavaFX & SWT 1
X AWT Text der mit Graphics "drawString(...)" geschreiben wurde wieder löschen. AWT, Swing, JavaFX & SWT 6
M JFrame Graphics.drawString Problem AWT, Swing, JavaFX & SWT 11
P drawString in einem Rectangle AWT, Swing, JavaFX & SWT 4
C drawString wird beim starten des Programmes nicht ausgeführt AWT, Swing, JavaFX & SWT 3
B Graphics2d drawString mit double Werten? AWT, Swing, JavaFX & SWT 5
K Java DrawString zentriert und mehrzeilig AWT, Swing, JavaFX & SWT 8
R AWT drawString - Ausmaße AWT, Swing, JavaFX & SWT 4
F Browser drawString AWT, Swing, JavaFX & SWT 4
J 2D-Grafik Html in drawString() AWT, Swing, JavaFX & SWT 2
A Formatierten String ausgeben (drawString) AWT, Swing, JavaFX & SWT 5
Zettelkasten drawString() Zeilenumbruch AWT, Swing, JavaFX & SWT 2
M breite eines "drawString()-Strings" AWT, Swing, JavaFX & SWT 2
T 2D-Grafik Blocksatz mit drawString() AWT, Swing, JavaFX & SWT 5
F AWT Probleme mit drawString() AWT, Swing, JavaFX & SWT 5
S drawString für HTML-Text? AWT, Swing, JavaFX & SWT 7
R drawString mit double Koordinaten AWT, Swing, JavaFX & SWT 5
G [gelöst] "Größe" von drawString AWT, Swing, JavaFX & SWT 4
spross line break bei drawString() mit LineBreakMeasurer? AWT, Swing, JavaFX & SWT 4
MasterEvil HTML formatierten Text mit drawString ? AWT, Swing, JavaFX & SWT 3
A Zentrieren von drawstring() in einem fillRect() AWT, Swing, JavaFX & SWT 3
m@nu Graphics: Per drawString() Text vertikal zentriert zeichnen AWT, Swing, JavaFX & SWT 5
T drawString AWT, Swing, JavaFX & SWT 9
Juelin if Abfrage funktioniert nicht richtig AWT, Swing, JavaFX & SWT 10
C Button ActionListener funktioniert nicht AWT, Swing, JavaFX & SWT 1
P AWT Programm funktioniert nicht richtig AWT, Swing, JavaFX & SWT 35
MartinNeuerlich Kann mir jemand, der einen Mac mit einem m1 oder m2-Chip hat, eine POM geben mit der Javafx-Fullscreen beim Mac mit m-Chip funktioniert? AWT, Swing, JavaFX & SWT 1
R auto. Importanweisungen für javafx funktioniert in Eclipse nicht mehr AWT, Swing, JavaFX & SWT 4
M Scrollbar funktioniert nicht AWT, Swing, JavaFX & SWT 10
D Repaint Funktioniert nicht AWT, Swing, JavaFX & SWT 2
W JEditorPane textausrichtung nach settext funktioniert nicht mehr AWT, Swing, JavaFX & SWT 11
H Swing Anpassen der Textgröße im JLabel funktioniert nur bedingt AWT, Swing, JavaFX & SWT 7
sserio JFrame setIconImmage() funktioniert nicht AWT, Swing, JavaFX & SWT 3
T Swing Tooltip-Delay funktioniert nicht immer. AWT, Swing, JavaFX & SWT 1
B Output GUI funktioniert nur beim ersten Mal richtig. AWT, Swing, JavaFX & SWT 4
sserio Wie funktioniert ein Controller bei JavaFx? AWT, Swing, JavaFX & SWT 1
U Wie funktioniert das rotieren unter 2dGraphics, also wie stelle ich z. B. 90° ein? AWT, Swing, JavaFX & SWT 1
U Wie funktioniert Polygon? AWT, Swing, JavaFX & SWT 1
U Wie genau funktioniert 2dgraphics, in diesem Bezug? AWT, Swing, JavaFX & SWT 4
S ChoiceBox aus ArrayList per setValue() mit Wert belegen funktioniert nicht. AWT, Swing, JavaFX & SWT 0
H KeyListener funktioniert nicht AWT, Swing, JavaFX & SWT 1
H BufferedImage zurücksetzen funktioniert nicht AWT, Swing, JavaFX & SWT 12
H RPG Programmieren, label.setLocation funktioniert nicht AWT, Swing, JavaFX & SWT 7
EinNickname9 Einfacher parser funktioniert nicht AWT, Swing, JavaFX & SWT 2
F Swing Adapt Row Height funktioniert nicht richtig :( AWT, Swing, JavaFX & SWT 7
P Swing jxmapviewer hinzufügen/nutzen funktioniert nicht AWT, Swing, JavaFX & SWT 7
CptK Wie funktioniert contains() für Path2D.Double AWT, Swing, JavaFX & SWT 10
J Anbindung Textfeldklasse an Table funktioniert nicht AWT, Swing, JavaFX & SWT 3
R Actionlistener funktioniert nicht AWT, Swing, JavaFX & SWT 4
B Stylen eines JTextPane funktioniert nicht AWT, Swing, JavaFX & SWT 1
VPChief Swing Eclipse: Nach Exportieren, Button funktioniert nicht mehr AWT, Swing, JavaFX & SWT 26
H Bewegung funktioniert nicht AWT, Swing, JavaFX & SWT 3
N Pixelfarbe abgleichen funktioniert nicht AWT, Swing, JavaFX & SWT 5
A Swing JTextField an Button übergeben für Popup-Fenster funktioniert nicht AWT, Swing, JavaFX & SWT 3
N eclipse Java, bilder benutzten Funktioniert nicht AWT, Swing, JavaFX & SWT 6
Zrebna JavaFX-Projekt mit Bildern funktioniert nicht - um Hilfe wird gebeten AWT, Swing, JavaFX & SWT 14
steven789hjk543 Swing Weiß jemand, warum dieses Programm nicht funktioniert? AWT, Swing, JavaFX & SWT 7
M Swing setMaximumSize funktioniert nicht AWT, Swing, JavaFX & SWT 1
K JavaFX funktioniert nicht AWT, Swing, JavaFX & SWT 2
B AWT actionPerformed Method funktioniert nicht AWT, Swing, JavaFX & SWT 12
L JavaFX Drag and Drop funktioniert nicht AWT, Swing, JavaFX & SWT 3
M Swing Code funktioniert auf Windows aber nicht Linux... AWT, Swing, JavaFX & SWT 3
T LookAndFeel LookAndFeel funktioniert nicht beim JFrame wechsel AWT, Swing, JavaFX & SWT 3
J JavaFX addListener funktioniert nicht AWT, Swing, JavaFX & SWT 1
P CardLayout funktioniert fehlerhaft AWT, Swing, JavaFX & SWT 13
L WrapLayout funktioniert nicht AWT, Swing, JavaFX & SWT 1
kodela Accalerator für einige Menüoptionen funktioniert nicht mehr AWT, Swing, JavaFX & SWT 3
S JavaFX mit javac compilieren funktioniert nicht AWT, Swing, JavaFX & SWT 2
K Swing Entfernen von Panel funktioniert nicht AWT, Swing, JavaFX & SWT 5
J AWT System Farben / java.awt.SystemColor funktioniert nicht AWT, Swing, JavaFX & SWT 4
G Swing Swing Binding JList funktioniert nicht AWT, Swing, JavaFX & SWT 5
it_is_all ActionListener umlenken/ updaten mit AddActionListener funktioniert nicht AWT, Swing, JavaFX & SWT 3
K javafx app > "run in browser" funktioniert nicht AWT, Swing, JavaFX & SWT 3
N JavaFX GridPane Halignment funktioniert nicht AWT, Swing, JavaFX & SWT 1
it_is_all JLabel.setIcon - funktioniert nicht mehr AWT, Swing, JavaFX & SWT 2
R Ausgabe über JOptionPane.showMessageDialog funktioniert nicht AWT, Swing, JavaFX & SWT 2
L 2D-Grafik Frage zu Ellipse2D.Double, Abfrage, ob Punkt enthalten ist funktioniert nicht AWT, Swing, JavaFX & SWT 3
J JTable Selection Listener funktioniert nicht AWT, Swing, JavaFX & SWT 4
F "ActionListener" funktioniert nicht AWT, Swing, JavaFX & SWT 4
Z BoxLayout funktioniert nicht und Buttongröße AWT, Swing, JavaFX & SWT 18
C Java Hintergrund funktioniert nicht AWT, Swing, JavaFX & SWT 9
J Swing Wie funktioniert dieser ChangePropertyListener??? AWT, Swing, JavaFX & SWT 0
GreenTeaYT Button funktioniert nicht für Ein-und Auszahlungen? AWT, Swing, JavaFX & SWT 8
C Keylistener funktioniert nicht AWT, Swing, JavaFX & SWT 1
A Swing Programm funktioniert aber zwei Buttons werden angezeigt AWT, Swing, JavaFX & SWT 3
M UIManager funktioniert nicht mit Farben AWT, Swing, JavaFX & SWT 9
M Swing UIManager funktioniert nicht mit Farben AWT, Swing, JavaFX & SWT 0
T KeyListener funktioniert nicht wenn ich ein JButton hinzufüge AWT, Swing, JavaFX & SWT 1
S JavaFX wie funktioniert CSS und javaFX AWT, Swing, JavaFX & SWT 19
S KeyListener funktioniert nicht AWT, Swing, JavaFX & SWT 2
J JScrollPane funktioniert nicht AWT, Swing, JavaFX & SWT 5
M JavaFX Eventhandler Funktioniert nicht AWT, Swing, JavaFX & SWT 3
Sogomn JavaFX Injektion funktioniert nicht AWT, Swing, JavaFX & SWT 4
Blender3D Swing KeyBoardListener funktioniert nicht unter UBUNTU AWT, Swing, JavaFX & SWT 7
J JavaFX Button funktioniert(nicht) AWT, Swing, JavaFX & SWT 3
J DefaultCloseOperation funktioniert nicht AWT, Swing, JavaFX & SWT 9
F JavaFX ObservableList -- warum funktioniert das so.... AWT, Swing, JavaFX & SWT 3
R Swing Bewegung eines Graphics Objektes innerhalb eines JPanels funktioniert nicht richtig AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben