Unterschied PrintJob & PrinterJob

Status
Nicht offen für weitere Antworten.

joschika77

Bekanntes Mitglied
Hallo!

Ich blicke bei der ganzen Druckerei noch nicht ganz durch.
Zur Zeit benutze ich den PrinterJob.Dort kann ich aber die Attribute nicht verändern/abstellen, was ich aber gerne möchte.In den FAQ's ist das Beispiel mit den dem PrintJob.Aber damit kann ich meine
Code:
prjob.print();
Methode nicht aufrufen.Die kennt er nicht.Die brauche ich um den Kopf einer Tabelle zu zeichnen.
Wie soll das funktionieren?

MfG
 

thE_29

Top Contributor
Der Printjob den ich behandle, druckt anscheinend anders als der PrinterJob (was auch immer das sein mag, habe ich vorher halt noch nie gesehen)

Poste halt dein genaues Problem!
 

joschika77

Bekanntes Mitglied
Na der PrinterJob druckt so:

Code:
	public void javaPrint(String [][] pufferpreis)
	{
		this.puffer = pufferpreis;
		// wenn der Druckdialog bestätigt wurde
		if(prjob.printDialog())
		{
			     try{
			     	//den Druck an das Printobjekt übergeben
			     	prjob.setPrintable(this, pform);
			   	// und den Druckjob starten
			     	prjob.print();//hier kennt er die Methode nicht
			     }
			     catch(PrinterException pe)
			     {
			     JOptionPane.showMessageDialog(MeinFrame.mf.pp,"Druckervorgang nicht erfolgreich!"+pe.getMessage());
			     }
		}
Und vorher rufe ich dies auf:
Code:
	public void configPrint(JFrame f, String title, boolean bRand,boolean bLandscape)
	{
		//	PrinterJob erzeugen
		PrinterJob prjob =	PrinterJob.getPrinterJob();
		prjob.setJobName("xxx");
		//Seitendialog holen und eineStandardseite übergeben
		pform = prjob.pageDialog(prjob.defaultPage());

Wenn ich nun den PrinterJob mit Print Job ersetze in der configPrint() kennt er die aufzurufende print() Methode die gestern gepostet habe nicht.Die gehört da mit zu

Code:
				   /* if(f == null) 
				      f = new JFrame(); 
				    PageAttributes page = new PageAttributes(); 
				    if(bLandscape) 
				      page.setOrientationRequested(PageAttributes.OrientationRequestedType. 
				                                   LANDSCAPE); 
				    else 
				      page.setOrientationRequested(PageAttributes.OrientationRequestedType. 
				                                   PORTRAIT); 
				    PrintJob prjob = f.getToolkit().getPrintJob(f, title, new JobAttributes(),page); */
Hoffe das der Code durchsichtig ist.

MfG
 

thE_29

Top Contributor
Du mußt das irgendwie via print(attributes) sagen!

Dort gibst du die PageAttributes mit und dann sollte es gehen!


PrinterJob und Printjob sind 2 verschiedene Klassen, deswegen kennt er die print() methode auch net, da die Klasse printJob via end oder finalize druckt und das andere mit print!
 

joschika77

Bekanntes Mitglied
Bloß wie mache ich das mit der Methode?
Schreib ich das dort rein?
Code:
 public int print( Graphics g, PageFormat pf, int iPage )
  throws PrinterException
  {
    final int    FONTSIZE = 12;
    final double PNT_MM   = 25.4 / 72.;
    int i_max_seiten=0;

    try {
      int iPosX = 1;
      int iPosY = 1;
      int h = FONTSIZE * 3/2 * iResMul;//Zeilenhöhe
      int a = h/10;
      int iWdth = (int)Math.round( pf.getImageableWidth()  * iResMul ) - 3;
      int iHght = (int)Math.round( pf.getImageableHeight() * iResMul ) - 3;
      int i_max_zeilen = ((iHght-iPosY)/h)-2;
      i_max_seiten = puffer.length/i_max_zeilen;
      //wenn Seite weniger 1
      while(i_max_seiten*i_max_zeilen < puffer.length)
      	i_max_seiten++;
      //--------------------
      int iCrcl = Math.min( iWdth, iHght ) - 4 * iResMul;
      Graphics2D g2    = (Graphics2D)g;
      prjob = ((PrinterGraphics)g2).getPrinterJob();
      g2.translate( pf.getImageableX(), pf.getImageableY() );
      g2.scale( 1.0 / iResMul, 1.0 / iResMul );
      g2.setFont( new Font( "SansSerif", Font.PLAIN, FONTSIZE * iResMul ) );
    
			      g2.setColor(Color.lightGray);
			      g2.fillRect(iPosX, iPosY, iWdth, h );
			      g2.setColor(Color.black);
			      g2.drawString("Index",iPosX+a,iPosY+h-(h/5));
			      g2.drawLine(iPosX+((iWdth/18)),iPosY,iPosX+((iWdth/18)),iHght);
			      g2.drawString("Name",iPosX+((iWdth/18))+a,iPosY+h-(h/5));
			      g2.drawLine(iPosX+((iWdth/18)*5),iPosY,iPosX+((iWdth/18)*5),iHght);
			      g2.drawString("Von",iPosX+((iWdth/18)*5)+a,iPosY+h-(h/5));
			      g2.drawLine(iPosX+((iWdth/18)*8),iPosY,iPosX+((iWdth/18)*8),iHght);
			      g2.drawString("Bis",iPosX+((iWdth/18)*8)+a,iPosY+h-(h/5));
			      g2.drawLine(iPosX+((iWdth/18)*11),iPosY,iPosX+((iWdth/18)*11),iHght);
			      g2.drawString("Ferienobjekt",iPosX+((iWdth/18)*11)+a,iPosY+h-(h/5));
			      g2.drawLine(iPosX+((iWdth/18)*14),iPosY,iPosX+((iWdth/18)*14),iHght);
			      g2.drawString("Preis/€",iPosX+((iWdth/18)*14)+a,iPosY+h-(h/5));
			      g2.drawLine(iPosX+((iWdth/18)*16),iPosY,iPosX+((iWdth/18)*16),iHght);
			      g2.drawString("Gesamt/€",iPosX+((iWdth/18)*16)+a,iPosY+h-(h/5));
			        
			      for(int i=0,k=0;i<i_max_zeilen && i+iPage*i_max_zeilen<puffer.length;i++)
					{
						for(int j=0;j<7;j++)
						{
							if(j ==0)
								k = 0;
							else if(j ==1)
								k = 1;
							else if(j ==2)
								k = 5;
							else if(j ==3)
								k = 8;
							else if(j ==4)
								k = 11;
							else if(j ==5)
								k = 14;
							else if(j ==6)
								k = 16;
							if(puffer[i+iPage*i_max_zeilen][j] == null)
								g2.drawString("",((iWdth/18)*k)+a,iPosY+(h*(i+2))-(h/5));
							else
								g2.drawString(""+puffer[i+iPage*i_max_zeilen][j],((iWdth/18)*k)+a,iPosY+(h*(i+2))-(h/5));
							g2.drawLine(iPosX,iPosY+(h*(i+2)),iWdth,iPosY+(h*(i+2)));
						}
					}
    } catch( Exception ex ) {
      throw new PrinterException( ex.getMessage() );
    }
 

thE_29

Top Contributor
Ich habe leider keiner Zeit das näher auf den Grund zu gehen, aber warum nimmst du net einfach die PrintJob Klasse wie in den FAQ??
 

joschika77

Bekanntes Mitglied
Erstmal danke ich dir für die Geduld mit mir.
:toll: Ja kein Problem aber wie soll ich das was in der print() Methode ist machen?Mit der Grafik meine ich.
Einfach reinschreiben geht wohl nicht.

MfG
 

thE_29

Top Contributor
Na, einfach dort wo ich die Strings, etc hinzufüge!

Also in der druckeSeite wo das Graphics Object ist, dort machst das einfach rein!
 

joschika77

Bekanntes Mitglied
Ok! Aber wie sage ich ihm denn das noch mehrere Seiten kommen könnten?
Die Version mit der print() Methode wird ja vom System immer wieder aufgerufen.
Und dann kann man das berechnen wieviele Seiten noch kommen.
Aber bei dieser Version weiss ich nicht.

MfG
 

thE_29

Top Contributor
Achso, dir gehts darum mehrere Seiten zu drucken :>

Gib mir mal dein Bsp mit PrinterJob wo ich irgendwas ausdrucken kann (zB hallo)

Ich schau dann wegen den Einstellungen!
 

joschika77

Bekanntes Mitglied
Hallo!

Das ich mehrere Seiten drucken kann habe ich jetzt hinbekommen, aber wie kann ich bei PrintJob die Seiten: von-bis und Markierung disablen , so das dort keine Einstellung möglich ist.

MfG
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Encera Unterschied zweier "toString"-Methoden Allgemeine Java-Themen 1
L Unterschied zwischen List und LinkedList implementierung? Allgemeine Java-Themen 15
P Unterschied Java SE und Java EE Allgemeine Java-Themen 2
J Unterschied: Polymorphie und Dynamisches Binden Allgemeine Java-Themen 8
VfL_Freak JDK installieren Unterschied zw. JDK 8_151 und 8_152 Allgemeine Java-Themen 3
F Unterschied zwischen NormalizedValue und Value Allgemeine Java-Themen 5
T Unterschied Oracle JDK 8u111 8u112 Allgemeine Java-Themen 3
W Unterschied Standalone und Applet Allgemeine Java-Themen 1
O [log4J] Unterschied SocketServer <-> SimpleSocketServer Allgemeine Java-Themen 0
A Best Practice Unterschied zwischen einer sauberen Dependency Injection und einer statischen Klasse Allgemeine Java-Themen 5
M Unterschied zwischen Win 7/2008R2 und Win8.1/2012R2? Allgemeine Java-Themen 8
M Unterschied CPU Auslastung Allgemeine Java-Themen 0
H Gibt es einen großen Unterschied zwischen Java 6 und Java 7? Allgemeine Java-Themen 3
N Unterschied Hobby-Codung und Professionelle Softwareentwicklung Allgemeine Java-Themen 5
D Unterschied Vererbung und Polymorphie? Allgemeine Java-Themen 4
G UnterSchied OpenJDK vs JDK Allgemeine Java-Themen 11
G Unterschied MyClass.class vs this Allgemeine Java-Themen 2
H Unterschied EventQueue.invoke... und thread.start() Allgemeine Java-Themen 4
Semox Unterschied bei Thread Erstellung Allgemeine Java-Themen 11
D Exakte Unterschied zwischen diesen Elementen? Allgemeine Java-Themen 5
N Unterschied zwischen "Java" und "Java mit Eclipse" Allgemeine Java-Themen 17
N Unterschied abstract interface und interface Allgemeine Java-Themen 4
G Hauptthread anhalten / Unterschied zwischen Main-Thread und dialogelement-Thread Allgemeine Java-Themen 2
Lufti Unterschied zwischen Djava.library.path und Class-Path im Manifest? Allgemeine Java-Themen 2
B Unterschied zwischen Klasse und Objekt? Allgemeine Java-Themen 8
G Unterschied Enterprise Anwendung und Web Anwendung Allgemeine Java-Themen 30
B Gibt es einen Unterschied zwischen Java 1.2 und Java 2? Allgemeine Java-Themen 7
J Unterschied zwischen "Debug" und "Run" Allgemeine Java-Themen 16
Q Unterschied der Logger Allgemeine Java-Themen 9
G Unterschied Long - Int Allgemeine Java-Themen 9
A Unterschied Scanner und Matcher Allgemeine Java-Themen 5
M Unterschied der java.exe des JDK und der JRE Allgemeine Java-Themen 15
P Unterschied zwischen Funktion und Methoden Allgemeine Java-Themen 3
K Unterschied Compilierung Eclipse 3.2 und Ant Allgemeine Java-Themen 3
O Unterschied zwischen ThreadPoolExecutor und Executor Service Allgemeine Java-Themen 7
O Unterschied zwischen Semaphoren/Lock und ExecutorService Allgemeine Java-Themen 3
V Unterschied FileOutputStream und FileWriter? Allgemeine Java-Themen 8
I Unterschied zwischen Applet und JApplet Allgemeine Java-Themen 2
B Unterschied: jar <-> konsole Allgemeine Java-Themen 9
G Unterschied abstrakte Klasse und Interface? Allgemeine Java-Themen 3
R Der Unterschied zwischen 2.1 und 2.10 Allgemeine Java-Themen 2
T abstract - interface Unterschied Allgemeine Java-Themen 22
K Unterschied Core Java / Desktop Allgemeine Java-Themen 12
P Was ist der Unterschied zwischen JSP und Servlet ? Allgemeine Java-Themen 4
M Unterschied notify() und notifyAll() Allgemeine Java-Themen 1
N Unterschied Calendar und GregorianCalendar Allgemeine Java-Themen 9
S Unterschied zwischen notify() und notifyAll() Allgemeine Java-Themen 2
M Unterschied zwischen // und \\ Allgemeine Java-Themen 6
E Unterschied zwischen Adapterklassen und abstracten Klassen? Allgemeine Java-Themen 5
T Unterschied Dämon - Thread (läuft später auf RMI hinaus...) Allgemeine Java-Themen 6
B Unterschied: Java - Java 2 Allgemeine Java-Themen 5
B (String) und toString(), woliegt der Unterschied? Allgemeine Java-Themen 4
T Drucken mit PrintJob und Einstellungen merken Allgemeine Java-Themen 3
J Immernoch Probleme mit PrintJob Allgemeine Java-Themen 5
I PrinterJob - bestimmtes Druckerfach festlegen möglich? Allgemeine Java-Themen 2
M Problem mit BufferedImage und PrinterJob im Querformat Allgemeine Java-Themen 1
H PrinterJob.getPageFormat() funktioniert nicht Allgemeine Java-Themen 4
W Ablaufanzeige beim Drucken mit printerJob Allgemeine Java-Themen 3
R Barcode mit printerJob (J2SE) ? Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben