Zum Inhalt springen

Aus JAVA Drucken bzw. in Word schreiben


Empfohlene Beiträge

Geschrieben

hallo,

hab von meinem boss die aufgabe bekommen nen altes javaprogramm bissl aufzupeppen ohne es neu zu machen...

mein aktuelles Problem ist das drucken ...

ich soll realisieren das es möglich ist bestimmte inhalte des programms zu drucken.

dabei hab ich 2 möglichkeiten ...

entweder ich drucke es direkt aus dem programm heraus oder ich schicke die daten ein ein wordformular in dem es die entsprechenden felder gibt.

ich würde es am liebsten in das wordformular laden aber da ich dazu keinerlei informationen gefunden habe wäre es auch kein problem das direkt aus java zu drucken.

das was gedruckt werden soll liegt im bereich:

x = 15

y = 15

width = 276

height = 276

und es sind mehrere Textfelder in diesem bereich

zur Info noch ... die oberfläche besteht nur aus swing elementen

hoffe ihr könnt mir weiterhelfen

Geschrieben

ich glaub ich bin zu blöd aber ich bekomm es net wirklich hin das ich drucken kann...

versuche das jetzt direkt aus java ... ich versteh da die beschreibung von dem openbook (java ist auch eine insel) net.

kannst mir vllt nen beispielcode schicken oder so?

wäre echt super ...

Geschrieben

Servus,

der Beispielcode sind die Listings 15.27 und 15.28. Dort hast Du einmal die main-Methode, in der Du den Druckjob definierst und ausführst, und außerdem das Printable-Objekt, das den Inhalt definiert. Weitergehend musst Du Dich dann schon mit den Interfaces und Klassen befassen. Vielleicht ist dafür auch das Sun-Tutorial interessant. Lesson: Printing (The Javaâ„¢ Tutorials > 2D Graphics)

Peter

Geschrieben

ok hab nun doch hinbekommen und das ergebnis ist auch so wie es sein soll ... hab nur ein problem ... ich drück einmal auf ausdrucken aber der druckt das immer 2x. worann kann das liegen? ... habe es an sich genau so wie in dem listing(15.27, 15.28) nur das die ausgabe andere texte enthält und es mehr befehle sind (drawString())

Geschrieben

ok hier der sourcecode

Aufruf für den Druck (is nen Menüitem)


private JMenuItem getM_00_02() {

		if (M_00_02 == null) {

			M_00_02 = new JMenuItem();

			M_00_02.setText("Drucken");

			M_00_02.addActionListener(new java.awt.event.ActionListener() {

				public void actionPerformed(java.awt.event.ActionEvent e) {

					System.out.println("Drucken");

					PrinterJob pj = PrinterJob.getPrinterJob();

					if ( pj.printDialog() == false ) 

					      return;

					pj.setPrintable( new TextPrintable() );

				    try {

						pj.print();

					} catch (PrinterException e1) {

						System.out.println("Druckfehler");

					} 

				}

			});

		}

		return M_00_02;

	}

der eigentliche druck

class TextPrintable implements Printable 

	  { 

	    Font font = new Font( "Times", Font.PLAIN, 20 ); 


	    public int print( Graphics g, PageFormat pageFormat, int pageIndex ) 

	    { 

	      if ( pageIndex >= 2 ) 

	        return Printable.NO_SUCH_PAGE; 


	      g.setFont( font ); 

	      g.drawString(tae.field[8][0] + " " + tae.field[8][1] + " " + 

	    		  	   tae.field[8][2] + " " + tae.field[8][3] + " " + 

	    		  	   tae.field[8][4] + " " + tae.field[8][5] + " " + 

	    		  	   tae.field[8][6] + " " + tae.field[8][7] + " " + 

	    		  	   tae.field[8][8], 100, 100);

	      g.drawString(tae.field[7][0] + " " + tae.field[7][1] + " " + 

	    		       tae.field[7][2] + " " + tae.field[7][3] + " " + 

		   		  	   tae.field[7][4] + " " + tae.field[7][5] + " " + 

		   		  	   tae.field[7][6] + " " + tae.field[7][7] + " " + 

		   		  	   tae.field[7][8], 100, 120);

	      g.drawString(tae.field[6][0] + " " + tae.field[6][1] + " " + 

		   		  	   tae.field[6][2] + " " + tae.field[6][3] + " " + 

		   		  	   tae.field[6][4] + " " + tae.field[6][5] + " " + 

		   		  	   tae.field[6][6] + " " + tae.field[6][7] + " " + 

		   		  	   tae.field[6][8], 100, 140);

	      g.drawString(tae.field[5][0] + " " + tae.field[5][1] + " " + 

		   		  	   tae.field[5][2] + " " + tae.field[5][3] + " " + 

		   		  	   tae.field[5][4] + " " + tae.field[5][5] + " " + 

		   		  	   tae.field[5][6] + " " + tae.field[5][7] + " " + 

		   		  	   tae.field[5][8], 100, 160);

	      g.drawString(tae.field[4][0] + " " + tae.field[4][7] + " " + 

		   		  	   tae.field[4][2] + " " + tae.field[4][5] + " " + 

		   		  	   tae.field[4][4] + " " + tae.field[4][3] + " " + 

		   		  	   tae.field[4][6] + " " + tae.field[4][1] + " " + 

		   		  	   tae.field[4][8], 100, 180);

	      g.drawString(tae.field[3][0] + " " + tae.field[3][1] + " " + 

		   		  	   tae.field[3][2] + " " + tae.field[3][3] + " " + 

		   		  	   tae.field[3][4] + " " + tae.field[3][5] + " " + 

		   		  	   tae.field[3][6] + " " + tae.field[3][7] + " " + 

		   		  	   tae.field[3][8], 100, 200);

	      g.drawString(tae.field[2][0] + " " + tae.field[2][1] + " " + 

		   		  	   tae.field[2][2] + " " + tae.field[2][3] + " " + 

		   		  	   tae.field[2][4] + " " + tae.field[2][5] + " " + 

		   		  	   tae.field[2][6] + " " + tae.field[2][7] + " " + 

		   		  	   tae.field[2][8], 100, 220);

	      g.drawString(tae.field[1][0] + " " + tae.field[1][1] + " " + 

		   		  	   tae.field[1][2] + " " + tae.field[1][3] + " " + 

		   		  	   tae.field[1][4] + " " + tae.field[1][5] + " " + 

		   		  	   tae.field[1][6] + " " + tae.field[1][7] + " " + 

		   		  	   tae.field[1][8], 100, 240);

	      g.drawString(tae.field[0][0] + " " + tae.field[0][1] + " " + 

		   		  	   tae.field[0][2] + " " + tae.field[0][3] + " " + 

		   		  	   tae.field[0][4] + " " + tae.field[0][5] + " " + 

		   		  	   tae.field[0][6] + " " + tae.field[0][7] + " " + 

		   		  	   tae.field[0][8], 100, 260);

	      g.dispose();


	      return Printable.PAGE_EXISTS; 

	    } 

	  }

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...