Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Hi ihr,
wie der Titel schon sagt, möchte ich eine Druckansicht meines Programms erstellen und dann den Inhalt drucken. Nur leider fehlen mir ein wenig die Ideen. Es geht in meinem Programm um eine Inventurtabelle. In meiner Druckansicht möchte ich quasi dass folgende Sachen erscheinen: Ne kleine Überschrift dann die Tabelle und am Ende noch ein paar zusammenfassende Informationen.
Jedoch habe ich noch keinen Ansatz gefunden wie ich das am besten anstelle. Ich habe mir gedacht über einen Button "Druckansicht" ein neues Panel zu öffnen, auf welchem dann Die Überschrift,Tabelle und die Infos angezeigt werden. Doch hierbei treten für mich Probleme auf. Undzwar weiß ich nicht ein ich ein Panel oder Frame drucke, da ich nur Table.print kenne. Und zweitens: Was passiert wenn ich das Panel/Frame drucke.. wird dann meine Tabelle auch ordnungsgemäß gedruckt, damit meine ich den kompletten Inhalt? (Bezüglich Scrollbar)
Ich würde mich freuen wenn ihr mir einen kleinen Denkanstoß geben könntet.
ich hab derzeit ein ähnliches Vorhaben laufen, nur ist die Inventurliste nur ein kleiner Bestandteil.
Da ich alle Formulare zum Drucken und zum Speichern als PDF zur Verfügung stellen möchte, trenne ich die Ansicht der Daten in der GUI von der Druck- bzw PDF-Version.
Erzeug dir doch auch einfach ne schöne PDF und druck die dann.
Lässt sich schick formatieren und mit den Widgets der GUI hast auch keinen ärger.
Erstell dir die PDF nicht aus dem Frame, sondern aus den passenden Daten
Plump ausgedrückt, erstell dir ne Collection mit allem, was du benötigst, diese Daten zeigst du dem User in der Gui und aus diesen Daten erstellst du auch deinen Druck.
alles andere verrät dir google und dieses super Forum hier
Dann müsste ich jedoch jetzt meinen kompletten Code umschreiben oder? Ich möchte ja quasi nur den Inhalt meine Tablle, eine kleine Überschrift und zum schluss 2-3 Zeilen Infos haben. Ist das nicht auch einfacher möglich?
Kannst deinem Frame ja die entsprechenden "getter" verpassen, dennoch scheint es mir klüger, wenn du deine DesignStruktur nochmal gründlich überdenkst.
In deinem Fall sollen die anfallenden Daten auf mehreren Wegen verwendet werden und da sollte MVC oder zumind. eine logische Trennung deiner Datenlogik von der Ausgabe eine Umstrukturierung allemal wert sein.
Gruß Vanny
EDIT:// Was du an Code umschreiben müsstest, kann ich nicht beurteilen..hast ja keinen gepostet^^
Ich gebe dir natürlich Recht, da ich noch nicht so ein As im programmieren bin. Ich habe das Programm einfach frei schnautze geschrieben und mir keine Gedanken übe Design etc gemacht. Das werde ich bei meinem nächsten Projekt auf jeden fall anders machen. Jedoch geht es mir jetzt nur darum das doofe Programm so schnell es geht hinter mich zu bringen um endlich was neues zu starten. Es muss jetzt nicht super toll sein oder so.. ich will quasi nur eine ganz banale Lösung. Eigentlich würde es ja reichen nur die Tabelle auszudrucken, doch das reicht eben nicht gaanz
Deswegen suche ich ne ganz banale Lösung.. da ich mich mit Collections etc noch gar nciht auskenne und ich mich da jetzt erst wieder einlesen müsst etc.
Ok ^^ auch ohne Code gesehen zu haben,
1. schreib dir ne Klasse, mit der du drucken möchtest,
2. im Konstruktor dieser Klasse die Daten als Argumente übergeben
3. in der JFrameKlasse ein Objekt der "DruckKlasse" erzeugen und mit getText() oder getValueAt() oder was du sonst noch hast die Argumente aus dem JFrame mit übergeben.
Sorry, wenn ich so blöd frage aber ich weiß noch net genau wie du das meinst. Folgende Daten will ich drucken.
Überschrift: Inventurname --> Datum
darunter die ganze JTable
Und wenn der komplette Inhalt der JTable gedruckt ist eine Zusammenfassung in Form von Gesamtzahl der Artikel und Gesamtwert der Artikel. Die Daten beziehe mittels Rechnung aus dem Inhalt der JTable.
Wenn ich nun eine Klasse erstelle, und das alles mache mit dem Kontruktor etc. Dann steh ich doch wieder vor dem gleichen Problem. Ich glaube mir fehlt einfach noch das Verständnis, wie ich alle drei Elemente geordnet gedruckt bekomme. Es ist zum Heulen ;(