Hallo Experten,
ich erstelle eine Art Screen-Shot vom Inhalt eines Textfeldes (zur Archivierung):
Das klappt soweit auch ganz gut. Lediglich ein dummer Rahmen rundherum erscheint "wie von Geisterhand", den ich nicht haben will (siehe auch Anlage).
Lasse ich "setBackground(...)" und/oder "clearRect(...)" ganz weg, bleibt nur ein schwarzes Rechteck übrig.
Wer hat eine Idee, wie ich den unerwünschten Rahmen wegbekomme?
ich erstelle eine Art Screen-Shot vom Inhalt eines Textfeldes (zur Archivierung):
Code:
Graphics g1 = tfText.getGraphics();
FontMetrics fm = g1.getFontMetrics();
Rectangle2D area = fm.getStringBounds(tfText.getText(), g1);
BufferedImage imgText = new BufferedImage((int)area.getWidth(), (int)area.getHeight(), BufferedImage.TYPE_BYTE_GRAY);
Graphics2D g = imgText.createGraphics();
g.setBackground(Color.WHITE);
g.clearRect(1, 1, this.getWidth() -1, this.getHeight() -1);
g.setPaint(Color.BLACK);
g.drawString(tfText.getText(), 0, (int)area.getHeight() - 2);
Das klappt soweit auch ganz gut. Lediglich ein dummer Rahmen rundherum erscheint "wie von Geisterhand", den ich nicht haben will (siehe auch Anlage).
Lasse ich "setBackground(...)" und/oder "clearRect(...)" ganz weg, bleibt nur ein schwarzes Rechteck übrig.
Wer hat eine Idee, wie ich den unerwünschten Rahmen wegbekomme?
Anhänge
Zuletzt bearbeitet: