Inhalt der JTextArea drucken

Status
Nicht offen für weitere Antworten.

Dolce

Mitglied
Hallo Jungs,

bin leider noch am Anfang der Programmierung!

Ich möchte gerne den Inhalt meiner TextArea ausdrucken,
aber ich weiß nicht, wo ich das "TextArea - Objekt" übergeben soll!

Ich habe hier einen Quellcode der funktioniert, also Verbindung zum
Drucker ist O.k. und er druckt mir auch "Hallo auf Seite 0", so wie es sein soll!

Jetzt möchte ich aber den Inhalt der jTextArea ("Testdruck") ausgeben, aber ich bekomms nicht hin!!

Kann mir jemand helfen...??
Wäre echt super!

[highlight=Java]
import java.io.PrintWriter;
import java.io.*;
import javax.print.Doc;
import javax.print.DocFlavor;
import javax.print.DocPrintJob;
import javax.print.PrintException;
import javax.print.PrintService;
import javax.print.PrintServiceLookup;
import javax.print.SimpleDoc;
import javax.print.attribute.HashPrintRequestAttributeSet;
import javax.print.attribute.PrintRequestAttributeSet;
import javax.print.attribute.standard.Copies;
//package com.javatutor.insel.ui.print;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.print.*;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

/**
*
* Beschreibung
*
* @version 1.0 vom 07.04.2009
* @author
*/

public class Drucken extends JFrame {
// Anfang Variablen
private JScrollPane jScrollPanejTextArea1 = new JScrollPane();
private JTextArea jTextArea1 = new JTextArea("");
private JButton jButton1 = new JButton();
// Ende Variablen

public Drucken(String title) {
// Frame-Initialisierung
super(title);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent evt) { System.exit(0); }
});
int frameWidth = 300;
int frameHeight = 300;
setSize(frameWidth, frameHeight);
Container cp = getContentPane();
cp.setLayout(null);
// Anfang Komponenten


jScrollPanejTextArea1.setBounds(88, 56, 113, 73);
jTextArea1.setText("TESTDRUCK\n\n");
jScrollPanejTextArea1.setViewportView(jTextArea1);
cp.add(jScrollPanejTextArea1);
jButton1.setBounds(80, 176, 107, 25);
jButton1.setText("Drucken");
cp.add(jButton1);
jButton1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});

// Ende Komponenten
//for ( PrintService s : PrintServiceLookup.lookupPrintServices( null, null ) )
//System.out.println( s.getName() );
setResizable(false);
setVisible(true);
}

// Anfang Ereignisprozeduren
public void jButton1ActionPerformed(ActionEvent evt)
{
String content = jTextArea1.getText();

try
{
PrinterJob pjob = PrinterJob.getPrinterJob();
if ( pjob.printDialog() == false )
return;
pjob.setPrintable( new TextPrintable() );
pjob.print();

}

catch (Exception ex)
{
ex.printStackTrace();
}



}

//Toolkit tk = Toolkit.getDefaultToolkit();
//PrintJob pj = tk.getPrintJob( new Frame(), "", null );

// Ende Ereignisprozeduren

public static void main(String[] args) {
new Drucken("Drucken");


}
}
[/highlight]

Und jetzt kommt die Klasse, die die zu druckende Seite beschreibt

[highlight=Java]
import java.awt.Font;
import java.awt.Graphics;
import java.awt.print.*;


public class TextPrintable implements Printable
{
static Font font = new Font( "Times", Font.PLAIN, 20 );
public int print( Graphics g, PageFormat pageFormat, int pageIndex )
{

if ( pageIndex >= 1 )
return Printable.NO_SUCH_PAGE;
g.setFont( font );
g.drawString( "Hallo auf Seite " + pageIndex, 100, 100 );
return Printable.PAGE_EXISTS;
}
}


[/highlight]
 

André Uhres

Top Contributor
Grundsätzlich können wir die JTextArea so drucken:
Code:
text.print(g);
wobei "text" die Referenz auf die JTextArea darstellt.
Hier will ich dir zeigen, wie wir das in deinem Beispiel ansatzweise einbauen könnten:
Code:
TextPrintable p = new TextPrintable();
p.setText(jTextArea1);
pjob.setPrintable(p);
pjob.print();
Code:
public class TextPrintable implements Printable {
...
    private JTextArea text;
    public int print(Graphics g, PageFormat pageFormat, int pageIndex) {
...
        ((Graphics2D) g).translate(pageFormat.getImageableX(), pageFormat.getImageableY());
        text.print(g);
        return Printable.PAGE_EXISTS;
    }
    public void setText(JTextArea text) {
        this.text = text;
    }
}
Gruß,
André

Wenn wir in Abhängikeit vom pageIndex nur einen Teilbereich der JTextArea drucken möchten, d.h. wenn wir eine grössere JTextArea auf mehreren Seiten verteilen wollen, dann können wir dabei folgende Methoden benutzen:
Graphics2D#translate(..)
Graphics2D#clip(..);
Kniffliger wird's nur beim Berechnen der entsprechenden Methodenparameter.
 
Zuletzt bearbeitet:

Dolce

Mitglied
Danke dir André,
denke eine sehr hilfreiche Antwort...!!

Ich werd es direkt mal ausprobieren!

So macht es Spaß wenn man so hilfreiche Tipps bekommt... :)


Danke dir...!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
kodela Inhalt eines Arrays ändert sich mysteriös Allgemeine Java-Themen 2
G JTextField Inhalt in einem Long einfügen Allgemeine Java-Themen 2
KeVoZ_ JSoup - Website Inhalt/Element mit String vergleichen Allgemeine Java-Themen 2
A Collections Inhalt einer Liste mit Inhalt anderer Liste vergleichen ? Allgemeine Java-Themen 7
T String auf Inhalt bzw. Schema überprüfen Allgemeine Java-Themen 12
T Threads Input/Output im Thread - Datei ohne Inhalt Allgemeine Java-Themen 1
I Inhalt einer Website auslesen Allgemeine Java-Themen 6
L Input/Output Datei einlesen und Inhalt in Array schreiben Allgemeine Java-Themen 3
U JNI -> Inhalt dll zugreifen Allgemeine Java-Themen 5
O Collections ListIterator gibt Inhalt von ArrayList nicht aus Allgemeine Java-Themen 3
S leeres package obwohl inhalt da Allgemeine Java-Themen 53
Iron Monkey Inhalt von JTable in die Textdatei mit StringWidth schreiben Allgemeine Java-Themen 3
A Excel nach bestimmten Inhalt durchsuchen Allgemeine Java-Themen 8
U Webseiten Inhalt auslesen... Allgemeine Java-Themen 7
D File mit Inhalt kopieren und dieses File dann neu erstellen ? Allgemeine Java-Themen 4
I Webseite auslesen (welche mittels Javascript Inhalt einbindet) Allgemeine Java-Themen 4
D Eclipse Kein Zugriff auf Inhalt einer referenzierten .jar Allgemeine Java-Themen 5
N Objekte aus Array Inhalt erzeugen Allgemeine Java-Themen 8
C JFormattedTextField Inhalt einer Variable zuweisen Allgemeine Java-Themen 11
J XML Inhalt von Web abfragen Allgemeine Java-Themen 6
W Inhalt aus String evaluieren Allgemeine Java-Themen 6
E Regex HTML Tag und Inhalt löschen Allgemeine Java-Themen 4
S Inhalt einer zip-Datei anzeigen Allgemeine Java-Themen 11
A Inhalt ListEditor und Buttons ausblenden Allgemeine Java-Themen 5
Y Excel datei einlesen und inhalt verarbeiten Allgemeine Java-Themen 8
J Inhalt von HashMap vergleichen Allgemeine Java-Themen 3
T Bestimmten Inhalt aus Manifest.MF auslesen Allgemeine Java-Themen 8
F JFrame zeigt Hintergrund und nicht den Inhalt Allgemeine Java-Themen 12
T (Binary)Datei einlesen, Inhalt ändern, Datei schreiben Allgemeine Java-Themen 4
O Inhalt vom JTextfield im DebugMode ermitteln? Allgemeine Java-Themen 2
O Vektor kopieren (Inhalt, nicht Referenzen) Allgemeine Java-Themen 3
D Inhalt eines Ordners auflisten. Allgemeine Java-Themen 2
7 Inhalt eines Objekts leeren aber Objekt nicht löschen Allgemeine Java-Themen 17
D Inhalt eines Packages im Code verarbeiten Allgemeine Java-Themen 18
J Datei Inhalt vergleichen (schnell & effizient!) Allgemeine Java-Themen 10
MQue Array inhalt verschieben Allgemeine Java-Themen 6
N RandomAccessFile überschreibt Inhalt Allgemeine Java-Themen 3
Y Klassen mit ähnlichem Inhalt: wie unterscheiden? Allgemeine Java-Themen 9
M Inhalt von Textdatei in Spinner Allgemeine Java-Themen 5
R Eingabe eines Textfeldes mit Inhalt einer Datei vergleichen Allgemeine Java-Themen 4
T Bild verliert Inhalt. Allgemeine Java-Themen 6
A "Webseite-Inhalt" ins Arabische&Französische ü Allgemeine Java-Themen 2
T HashMap#get neues Objekt, selber Inhalt Allgemeine Java-Themen 12
G Inhalt eines Arrays loggen Allgemeine Java-Themen 8
B Inhalt von StringBuffer löschen Allgemeine Java-Themen 14
J File: Inhalt des Ordners aus dem die aktuelle Datei ausgefüh Allgemeine Java-Themen 6
P Wie kann ich den Inhalt eines Textdokuments löschen? Allgemeine Java-Themen 9
K Inhalt von Vektoren auslesen Allgemeine Java-Themen 6
T iso datei (Image) mit Java einlesen und Inhalt entpacken Allgemeine Java-Themen 3
K JTree Inhalt löschen und Anzeige aktualisieren Allgemeine Java-Themen 13
P Inhalt einer Mail anzeigen Allgemeine Java-Themen 5
G ResultSet auf Inhalt prüfen? Allgemeine Java-Themen 2
G Inhalt von Servern anzeigen lassen Allgemeine Java-Themen 9
G Inhalt einer Textdatei in eine AWT List schreiben Allgemeine Java-Themen 3
R Tabellen inhalt mal vorhanden, mal nicht!?! Allgemeine Java-Themen 2
H Swing JTextArea als TableCellRenderer in JTable - wie Zeilen selektieren? Allgemeine Java-Themen 47
B System.out Ausgabe auf jtextarea Fehlersuche Allgemeine Java-Themen 8
N Daten einer JCoTable in JTextArea anzeigen Allgemeine Java-Themen 7
T Resize JTextArea Allgemeine Java-Themen 3
L Text von txt auf JTextArea Allgemeine Java-Themen 4
B JTextArea 6 mal auf DinA4 Format verteilen und drucken Allgemeine Java-Themen 1
X System.out/err(Die Console) in JTextArea ausgeben Allgemeine Java-Themen 2
M Output einer anderen/externen .jar in eigene JTextArea Allgemeine Java-Themen 4
D JTextArea mit setBounds() Allgemeine Java-Themen 3
I JTextArea soll nur drei Zeilen anzeigen Allgemeine Java-Themen 1
F JTextArea Cursor in die nächste Zeile setzen Allgemeine Java-Themen 2
S Swing Text in eine JTextArea schreiben Allgemeine Java-Themen 17
Z Ausschneiden, Kopieren, Einfügen, Löschen in JTextArea Allgemeine Java-Themen 5
R via JButton in JTextArea printen Allgemeine Java-Themen 2
I Tab stop in jtextarea Allgemeine Java-Themen 2
X HTTP Problem mit static/non static JTextArea Update Allgemeine Java-Themen 17
E JTextArea / JEditorPane + Text formatieren Allgemeine Java-Themen 3
P JTextArea als Log umfunktionieren Allgemeine Java-Themen 5
H image in jtextarea/JLabel einbinden... Allgemeine Java-Themen 4
C Zeilenumbruch aus JTextArea entfernen Allgemeine Java-Themen 6
G Text aus Zwischenablage in JTextarea -> JDBC Error Allgemeine Java-Themen 3
Escorter Threads und JTextArea Allgemeine Java-Themen 2
G JTextArea auslesen Allgemeine Java-Themen 10
H Externe Prozesse und Inputstreams - ausgabe in JTextArea Allgemeine Java-Themen 3
O Datei in eine JTextarea reinladen Allgemeine Java-Themen 2
M JTextArea Allgemeine Java-Themen 2
C JTextArea clear! Allgemeine Java-Themen 4
M Tab und KeyListener in einer JTextArea Allgemeine Java-Themen 7
D Textdatei und JTextArea Allgemeine Java-Themen 5
G JTextArea vs JTextPane Allgemeine Java-Themen 2
G JTextArea im JScrollpane automatisch mitscrollen Allgemeine Java-Themen 4
W JTextArea beschleunigen bei großen Texten Allgemeine Java-Themen 4
G Fragen zu JTextField bzw. JTextArea Allgemeine Java-Themen 2
G Compiler Exception auf JTextArea umleiten Allgemeine Java-Themen 4
C Zeilenumbruch bei JTextArea Allgemeine Java-Themen 10
bernd Unterschiede von Ordnerstrukturen in JTextArea anzeigen Allgemeine Java-Themen 4
thE_29 Komponente beliebig in einer JTextArea platzieren Allgemeine Java-Themen 3
bummerland Zeilenumbruch aus JTextArea Allgemeine Java-Themen 1
OnDemand Drucken / Druckserver Allgemeine Java-Themen 13
M Drucken drawString(); Allgemeine Java-Themen 1
M Drucken ohne Dialog Allgemeine Java-Themen 1
M Drucken von Dateien Allgemeine Java-Themen 10
S Seitenausrichtung beim Drucken Allgemeine Java-Themen 1
T Drucken einer PDF Datei Allgemeine Java-Themen 4
S Input/Output Drucken Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben