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]
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]