Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Aus JAVA Drucken bzw. in Word schreiben

Empfohlene Antworten

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

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

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

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())

Servus,

ohne Source Code können wir dazu nichts sagen. Da sich Dein Code vom Listing unterscheidet, ist genau dieser Teil relevant.

Peter

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; 

	    } 

	  }

Ich habe zwar noch nicht mit Java gedruckt, aber es sieht mir so aus, als müßtest Du if(pageIndex >= 2) auf if(pageIndex >= 1) ändern.

danke euch ... das mit dem pageindex war tatsächlich der grund.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Konto

Navigation

Suchen

Suchen

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.