Zum Inhalt springen

Dannyboy

Mitglieder
  • Gesamte Inhalte

    163
  • Benutzer seit

  • Letzter Besuch

Beiträge von Dannyboy

  1. Ich muss Dannyboy recht geben. Ich kann mir sehr gut vorstellen, dass jedes Jahr gemeckert wird. Und es ist auch in der Tat so das IMMER irgendwelche blöden Aufgaben drankommen. Ich denke dies wird auch gemacht um die Einser und Zweier Kandidaten auszusortieren.

    Und egal was ihr sagt, ich finde GH1 war insgesamt Fair. (FiSi) Ich werde wahrscheinlich auch irgendwo im bereich der 3 liegen, aber ich finde insgesamt war die GH1 machbar. Es kamen nur bekannte Themengebiete dran und an einigen ecken musste man eben das Buch zur hand ziehen bzw einige dinge konnte man dann nur durch Zufall wissen. (Siehe einser und Zweier Kandidaten aussortieren).

    Aber GH2 lieber Dannyboy, wenn du sie sehen würdest, würdest du überzeugt sein, dass es sich hier um eine komplett andere Arbeit handelt als in allen Prüfungen zuvor. (Und ich hab ab 2005 alle durchgenommen). Diese Arbeit war einfach komplett anders Aufgebaut. Wie schon gesagt, fast garnix zur IT (2-3 lächerliche 2punkte Aufgaben zu dhcp). Die Englischaufgabe habe ich nicht besonders gut hinbekommen, doch ich denke ma das lag an mir selber. Die konnte man hinkriegen. Der rest war einfach totaler Mist!! Alle restlichen Aufgaben musste ich mir irgendwas zusammendichten damit ich ÜBERHAUPT IRGENDWAS da stehen habe. Ich hoffe es gibt dafür überhaupt genügend teilpunkte um eine 4 zu bekommen...

    Mein Bruder hat ja auch seine Prüfung heute geschrieben, werde ihn auch mal später kontaktieren wie es gelaufen ist.

    Ich glaube Dir und den Anderen das GH2 in der Art wohl so nie erwartet wurden. Aber das ist bei irgendeiner der Aufgaben jedes Jahr der Fall.

    Mir wäre der GH2 Teil vielleicht auch nicht so schwer gefallen damals. Hab vor meiner Ausbildung zum FIAE mein Wirtschaftsabi gemacht und da war BWL/REWE ein LK von mir. Wobei ich heute auch wieder ne Menge davon vergessen habe. ;)

    Aber auch ich muss ganz klar zugeben, das ich für eine Kernquali Prüfung ebenfalls immer mehr allgemeine IT Fragen erwarten würde. Leider ist das alles wie Lotto spielen. Reine Glückssache. Fragt sich nur wo die Chancen besser stehen zu gewinnen. :D

  2. Habt Ihr denn wenigstens alle zur GH2 einiges bzw. etwas geschrieben? Ihr wisst doch garnicht ob das alles falsch ist. Solange nicht alles weiss auf dem Papier ist ist noch lange nicht sicher das Ihr da wirklich mit ner 5 oder gar 6 rauskommt. Auch wenn ich natürlich den Anspruch verstehe da bestmöglich rauszugehen.

  3. Nehmts mir nicht krumm aber es ist alle Jahre so mit dem Genörgel. Ich selbst bin seit Juni 2007 mit der Ausbildung zuende und war hier früher im Forum auch öfters. Jedes Jahr wird gesagt das die gerade geschriebene Prüfung am schwersten war und dann kommen im nächsten Jahr wieder die nächsten.

    Auch wenn ich viele von Euch verstehen kann da ich mir damals über ein paar Sachen auch gedacht habe so ein Quatsch. Und das was der Großteil hier schreibt hört sich erstmal nicht so toll an. Aber vielleicht habt Ihr auch mehr richtig als Ihr heute denkt. Außer Ihr habt so gut wie nichts geschrieben. Wird schon werden ich Drück Euch alle die Daumen!

  4. Daher schrieb ich ja das man es pauschal nicht sagen kann. Und ich kann quasi nur jedem, der in nen IT-Beruf will, dazu raten, lieber etwas länger die Schule zu besuchen und damit, wie Du es ebenfalls erwähnt hattest, einen höheren Schulabschluss anzustreben. Man sollte die Leute nur nicht direkt abschrecken. Für ihn geht der Ernst des Lebens ja erst noch los!

  5. Hi,

    nein. Du brauchst auch gar nicht erst versuchen, dich zu bewerben, weil du chancenlos bist.

    Wieso fragst du das? Machst du deine Bewerbungsbemühungen davon abhängig, was irgendwelche anonymen Personen in einem Forum dir erzählen? Oder strengst du dich mehr an in der Schule, wenn die Antwort hier tatsächlich "Nein" lautet? Chancen hat man nur, wenn man sich bewirbt.

    Wieso, er kann ja grundsätzlich fragen wie Andere es sehen bzw. eventuell raten würden! Dann kann er sich ja selber Gedanken machen was er in Erwägung zieht. Manchmal sieht man die Möglichkeiten, die man hat, noch garnicht. Solltest Ihn daher nicht mit so sinnfreien Aussagen konfrontieren, wenn Du seine Intention nicht ernst nimmst. :rolleyes:

    Da hast recht.Trotzdem danke.

    Meintest Du mich?

  6. Ich gehe derzeit auf eine Realschule (8. Klasse). Ich sollte mich in nächster Zeit um ein Schülerpraktikum bewerben. Meine Noten sind so gutes Mittelfeld. Also so in der Hauptfächern dreier und dann noch paar zweier. Ich kenn mich recht gut mit PCs usw. aus. Erste Programmierkenntnisse sind vorhanden. Hab ich ne Chance später ne Ausbildung zu finden mit diesen "Qualifikation".

    Hoffe auf antwort.

    Chancen hat man immer (zumindest wenn man optimistisch dran glaubt). Aber pauschal zu sagen "ja definitiv" oder "nein, sieht schlecht aus" kann mans nicht.

    Ich persönlich habe damals (Ausbildung von 2004 - 2007) die Erfahrung gemacht das bevorzugt Abiturienten oder aber auch Studienabbrecher genommen wurden. Mag sein das es hier und da ein paar kleine Ausnahmen gegeben hat aber es ist halt die Erfahrung die ich gemacht habe. Es spricht ja auch nichts dagegen das Du auf eine weiterführende Schule gehst bzw. wirklich erstmal Dein Abitur machst und Du dann immer noch eine Ausbildungsstelle im IT-Bereich suchst.

    Vor allem könntest Du Dir so die Option offen halten, studieren zu gehen. Und ebenfalls noch ein kleiner Tipp: Wenn Du Dein Abitur gemacht hast, bist Du im ganzen auch wesentlich reifer (vom Alter her). Einige stellen sich das vielleicht auch einfach zu leicht vor. Ich will Dir damit keineswegs zu Nahe treten aber ich würde Dir grundsätzlich empfehlen, erstmal die Schule weiterzumachen (sprich Abitur) und danach eine Ausbildungsstelle zu suchen (falls Dich der Bereich dann noch interessiert). Sicherlich kannst Du Dich auch einfach mal "spaßeshalber" vorher bewerben. Dann siehst Du vielleicht auch was so auf Dich zukommt (das ganze Prozedere mit Bewerbung, Lebenslauf, Einstellungstest und wenns gut läuft Bewerbungsgespräch).

    Ich hoffe ich konnte Dir etwas helfen.

  7. hat sich erledigt, ich hab die Lösung gefunden!

    Folgendes habe ich dank dem Freund "Google" gefunden: :uli

    1) Open a VE and then close it. Make sure there are NO VE’s open at all.

    2) Clear the .log file (use the ErrorLog view and the “Delete Log†button).

    3) Projects->Clean…->Clean ALL projects radio button

    4) Wait for build to finish

    5) Try opening the VE again.

  8. Hallo,

    ich ärgere mich gerade über den Visual Editor. Und zwar habe ich versehentlich während des "noch" Generierens der view-Klasse den Speichern Button meiner Eclipse IDE betätigt, da ich davon ausgegangen bin das er fertig generiert hatte (war etwas hektisch zu der Zeit).

    Und nun bekomm ich jedes Mal, wenn ich meine view-Klassen mit dem Visual Editor öffnen und dann bearbeiten will, folgende Fehlermeldung:

    veproblemuz1.png

    Ich habe schon versucht mittels F5 das Projekt zu aktualisieren, hab die IDE geschlossen und wieder gestartet, habe auch mal den ganzen PC neu gestartet, hab ein Eclipse Sicherungsinstallationsverzeichnis zurückgespielt und benutzt (weil ich davon ausgegangen bin das eventuell gewisse Plugin Dateien defekt sind), hab die VE Dateien neu überschrieben usw.! Leider schafft alles keine Abhilfe. Ich vermute fast das ich irgendwie meine Workbench zerschossen habe.

    Entweder ich finde noch ne Lösung oder ich muss aus dem Repository den letzten Stand des Projektes importieren und dann eben aus meinem jar-Archiv meine Anwendung ergänzen. Hoffentlich ist dann der Fehler verschwunden.

    Übrigens nutze ich den VE 1.2.1 sowie Eclipse 3.2.2.

    Könnt Ihr mir vielleicht weiterhelfen?

  9. Hallo,

    wie der Threadtitel erahnen läßt habe ich aktuell Probleme bei meiner eigens implementierten Drucken-Methode (in meiner Klasse wird das Interface Printable implementiert).

    Und zwar ist es so das ich zwar das Panel 1:1 ausdrucken kann und es auch vom Aufbau so aussieht wie ich es haben möchte, es aber passiert das wenn ich zwei unterschiedliche Informationen über Datensätze habe er mir komischerweise 2-Mal dasselbe ausdruckt.

    Mit anderen Worten gehe ich so vor:

    Ich lasse mir einen Datensatz als übersichtliche Seite mit Information A anzeigen, klicke dann in meinem visualisierten Panel (ist eben diese neue Seite) unterhalb auf Drucken, dann poppt das Standard Druck Menü auf und ich bestätige einfach mit "OK" (und angewählt sind mein Netzwerkdrucker sowie der Druckbereich "Alles")!

    Jetzt klick ich nach dem Abschicken des Druckauftrags auf Abbrechen (um eben die visualisierte Seite zu schließen) und lass mir eine Information B (aus einem anderen Datensatz) anzeigen. Diese möchte ich auch ausdrucken (nach obigem Schema geh ich vor). Was passiert? Es kommen zwar 2 Seiten nach ca. 10 - 15 Sekunden aus dem Drucker, aber er druckt mir 2 Mal die Information B aus! Jetzt frage ich mich, wie ich sicherstellen kann, das eben bei beliebig vielen anstehenden Druckaufträgen im Spool die Werte auch intern beibehalten werden und er mir auch die Sachen so ausdruckt wie ich sie erwarte (im obigen Fall ja Information A und Information B). Momentan überschreibt er mir ja quasi in meinem PrintJob den Wert! Anbei mal der Quellcode:

    Erst einmal die Methode die aufgerufen wird wenn man auf dem Button "Drucken" klickt:

    ------------

    private void performDrucken() {
    
    		SwingWorker swingWorker = new SwingWorker() {
    
    			public Object construct() {
    
    				performDruckenHelper();
    
    					return this;
    
    			}
    
    		};
    
    		swingWorker.start();
    
    	}
    Hier wird eben ein eigener Thread erzeugt so das der Anwender parallel neben dem Drucken Prozess auch weiterhin ohne Hänger andere Datensätze suchen kann Dann folgt die Methode die mir den PrintJob liefert und das eigentliche Drucken anstartet: -----------
    private void performDruckenHelper()  {
    
    		//PrintJob
    
    		PrinterJob printjob = PrinterJob.getPrinterJob(); 
    
    		printjob.setPrintable(this); 
    
    
    		if (printjob.printDialog() == false ) return; 
    
    
    			try {
    
    				printjob.print();
    
    				System.out.println("End PrintJob.print()");
    
    			}
    
    			catch(Exception PrintException){
    
    				PrintException.printStackTrace();
    
    			}
    
    	}
    
    
    Abschließend meine Print()-Methode: -------------------
    public int print(Graphics g, PageFormat pageFormat, int page) throws PrinterException
    
    	{
    
    		Graphics2D g2d;	
    
    
    		if(page == 0) 
    
    		{
    
    			//erstellt ein Graphics 2D Objekt
    
    			g2d = (Graphics2D) g;
    
    			g2d.setColor (Color.black);
    
    			pageFormat.setOrientation(PageFormat.PORTRAIT);
    
    			disableDoubleBuffering(view.getDateiauskunftDetailsPanel());
    
    
    
    			// Höhe und Breite von der Seite sowie dem Panel
    
    			Dimension d = view.getDateiauskunftDetailsPanel().getSize();
    
    			double panelWidth = d.width;
    
    			double panelHeight = d.height;
    
    			double pageHeight = pageFormat.getImageableHeight();
    
    			double pageWidth = pageFormat.getImageableWidth();
    
    
    			double scaleX = pageWidth / panelWidth;
    
    			double scaleY = pageHeight / panelHeight;	
    
    
    			g2d.translate(pageFormat.getImageableX(), pageFormat.getImageableY());
    
    			g2d.scale(scaleX, scaleY);
    
    
    			view.getDateiauskunftDetailsPanel().print(g2d);
    
    
    			return (PAGE_EXISTS);
    
    		}
    
    		else
    
    			return (NO_SUCH_PAGE);
    
    	}
    
    

    An welcher Stelle ist der Fehler? Zunächst dachte ich das der PrintJob mit einer internen end()-Methode beendet werden muss aber das gibts hier irgendwie nicht (nach dem Drucken scheint sich der Job selber zu beenden). Nur er darf mir ja nicht unterschiedliche Informationen quasi immer mit dem zuletzt angestarteten Druck überschreiben. :(

    Könnt Ihr mir hier nen Tipp geben?

  10. Bezüglich dem Blockieren der Anwendung für ca. 15 Sekunden: Hat sich erledigt, ich hab jetzt einfach den SwingWorker benutzt (SwingUtilities). Da ist man dann in einem eigenen Thread und man kann nach dem Anstarten des Drucks auch ganz normal mit der Anwendung weiterarbeiten, das Fenster verschieben usw.! :)

    Das Einzige was mich etwas stört ist das der mir in dem DruckDialog unterhalb des Punktes "Alles" (Druckbereich) den Punkt "Seiten von 1 bis 9999" anzeigt. Würde zu gerne wissen ob man das irgendwie so einstellen kann das man maximal da stehen hat "Seiten von 1 bis 1".

  11. Hallo Leute,

    so ich bin mittlerweile einen Schritt weiter gegangen. Und zwar skaliere ich das grafische Panel immer so das es auf eine Druckseite paßt.

    Anbei der Quellcode:

    public int print(Graphics g, PageFormat pageFormat, int page) throws PrinterException
    
    	{
    
    		Graphics2D g2d;	
    
    
    		if(page == 0) 
    
    		{
    
    			//erstellt ein Graphics 2D Objekt
    
    			g2d = (Graphics2D) g;
    
    			g2d.setColor (Color.black);
    
    			//pageFormat.setOrientation(PageFormat.PORTRAIT);
    
    			disableDoubleBuffering(getDateiauskunftPanel());
    
    
    			// Höhe und Breite von der Seite sowie dem Panel
    
    			Dimension d = getDateiauskunftPanel().getSize();
    
    			double panelWidth = d.width;
    
    			double panelHeight = d.height;
    
    			double pageHeight = pageFormat.getImageableHeight();
    
    			double pageWidth = pageFormat.getImageableWidth();
    
    
    			double scaleX = pageWidth / panelWidth;
    
    			double scaleY = pageHeight / panelHeight;
    
    
    			g2d.translate(pageFormat.getImageableX(), pageFormat.getImageableY());
    
    			g2d.scale(scaleX, scaleY);
    
    
    			getDateiauskunftPanel().print(g2d);
    
    
    			return (PAGE_EXISTS);
    
    		}
    
    		else
    
    			return (NO_SUCH_PAGE);
    
    	}

    Das klappt soweit auch ganz gut. Nur der Part mit meiner eigenen Methode "disableDoubleBuffering(get...)" beschleunigt mir den Ausdruck nicht wirklich (obwohl dies laut einem Internet Beispiel klappen müsste). Zudem kann ich, nachdem ich über den DruckDialog den Druck angestartet habe, für ca. 15 Sekunden nichts machen (meine Anwendung arbeitet wohl den Prozess ab). Sollte ich diesen ohne Weiteres in einen eigenen Thread packen oder nur eine zusätzliche Meldung abstoßen? Kann man ansonsten noch etwas Wichtiges am Quellcode anpassen oder erweitern?

    Wieso kann man eigentlich nicht, ähnlich wie bei der Klasse "PrintJob", bei der Klasse "PrinterJob" eine end()-Methode finden? Dann könnte ich ihm doch explizit sagen das er nach dem Drucken den printJob schließen kann oder?

  12. Hi, danke nocheinmal!

    Habs grade auch selber hinbekommen, allerdings hatte ich es erst mit printAll() gemacht. Habs jetzt geändert. Anbei der Code:

    
    public int print(Graphics g, PageFormat pageFormat, int page) throws PrinterException
    
           {
    
    	if (page > 0) {
    
                return NO_SUCH_PAGE;
    
            }
    
    
            Graphics2D g2d = (Graphics2D)g;
    
            getDateiauskunftPanel().print(g2d);
    
    
            return PAGE_EXISTS;
    
    
    	}

    Kommt mir nur etwas langsam vor. Kann man das irgendwie optimieren? Hab mal was davon gehört, DoubleBuffering zu deaktivieren.

  13. Da du, soweit ich das mitbekommen habe, ja Swing einsetzt, kannst du einfach die print(Graphics) Methode der JComponent benutzen.

    Diese Methode zeichnet den Inhalt der Komponente in das Graphics-Objekt.

    Geht das auch etwas genauer? Bezogen auf meinen obigen Quellcode, kann man da nicht konkret etwas erweitern um den Inhalt meines Panels (übergebe den kompletten Panel-Inhalt der PanelView-Klasse an eine Methode getDateiauskunftPanel() in der DarstellerView-Klasse) auszudrucken?

    Ich hab auch nach weiteren Beispielen im Internet gesucht und zum Beispiel das hier gefunden: Hier klicken

    Nur erscheint mir das Ganze etwas aufgebläht.

    Habt Ihr nicht noch ein anderes triviales Code Beispiel? Ich muss dazusagen das wenn immer nur ein einseitiges Dokument (!) ausgedruckt werden muss (da die Detailansicht nach Möglichkeit später auch nur einseitig (DIN A4) sein wird!). Momentan steht ja nur in dem Panel ein Label mit dem Text "Dies ist ein Test" drin.

    Wie übergebe ich dem Graphics-Objekt jetzt die Methode getDateiauskunftPanel() damit er mir mein Panel ausdrucken kann?

    Mit z.B.

    g2d.draw((Graphics) view.getDateiauskunftPanel)

    funktioniert das ja ebenfalls nicht (gut hier handelt es sich ja auch um ein Shape und der Cast klappt nicht). Schade das es keine drawComponent()-Methode gibt.

    Das mit der Komponente hört sich gut an, aber ich steh grad voll auf dem Schlauch bzw. habe ein Brett vorm Kopf. :confused::upps

    Danke für Eure Mühe!

  14. Na und? Das muss deshalb ja nicht zwangsläufig das richtig sein. Ich kenne auch viele Kunden, die meinen weil sie irgendwann mal ein Stichtwort gehört haben sei das immer und überall die richtige Lösung. Ich meine das gar nicht mal abwertend - aber als Entwickler hast du eben einen breiteren und besseren Einblick in die Möglichkeiten, die es für die Umsetzung gibt.

    Die Frage sollte daher lauten: Was soll erreicht werden? Ich behaupte mal dem Kunden ist es komplett egal ob es nun HTML ist oder nicht - er möchte seine ausdruckbare Version haben, die Technik dahinter ist vollkommen unwichtig.

    Die "gewohnte Struktur" kommt aber nicht von der Umsetzung in HTML sondern von dem, was dabei rauskommt - nämlich dem Dokument.

    Mein Tipp: Versuch nicht krampfhaft irgendwelche HTML-Lösungen zu finden, wenn diese Art der Umsetzung überhaupt nicht gesetzt ist. Versuch das zu finden, was das beste Ergebnis produziert - und wähle danach die Technik aus.

    Ja, Du hast Recht. Mittlerweile werde ich es doch anders lösen. Und zwar werde ich es so machen, das ich eigene Darsteller-Klassen und die dazugehörige Ctrl-Klasse entwickle.

    Ich hatte mir das so vorgestellt das ich mit Swing meine GUI zur Darstellung der ganzen Informationselemente des markierten Satzes erstelle (in diese "Datensatz anzeigen"-GUI wird man dann nur über ein Kontextmenü "Details Anzeigen" gelangen).

    Dann wollte ich quasi alle Elemente (Labels, TextFields etc.) in ein Panel packen und dieses mit Hilfe der Java internen Print API ausdrucken.

    Jetzt habe ich zum Testen mal in dem sich neuen aufpoppenden Fenster (wenn man halt nach der zuvor gestarteten Suchabfrage ein Ergebnis findet, einen Datensatz markiert und auf "Details anzeigen" klickt) ein neues Fenster mit einem Panel (integriert ist dort momentan das Label "Dies ist ein Test") erstellt.

    Ich wollte nun mit einem Button Drucken den PrintDialog öffnen und dann eben die Information, die ich dem Panel zugewiesen habe, ausdrucken.

    Leider hänge ich im Quellcode fest

    Anbei der Code:

    private void performDrucken()  {
    
    		PrinterJob printjob = PrinterJob.getPrinterJob(); 
    
    		printjob.setPrintable(this); 
    
    
    		if (printjob.printDialog() == false ) return; 
    
    
    			try {
    
    				printjob.print();
    
    			}
    
    			catch(Exception PrintException){
    
    				PrintException.printStackTrace();
    
    			}
    
    	}
    
    
    Und hier die print()-Methode:
    public int print(Graphics g, PageFormat pageFormat, int page) throws PrinterException
    
    	{
    
    		//int i;
    
    		Graphics2D g2d;	
    
    		//Line2D.Double line = new Line2D.Double();
    
    
    		if(page == 0) 
    
    		{
    
    			//--- Create a graphic2D object and set the default parameters
    
    			g2d = (Graphics2D) g;
    
    			g2d.setColor (Color.black);
    
    
    			//--- Translate the origin to be (0,0)
    
    			g2d.translate (pageFormat.getHeight(), pageFormat.getWidth());
    
    			//g2d.draw( ......)  <----  ich möchte mein Panel übergeben 
    
    			//paintComponent(g2d);
    
    
    			return (PAGE_EXISTS);
    
    		}
    
    		else
    
    			return (NO_SUCH_PAGE);
    
    	}
    
    

    Bitte nicht wundern, es gibt noch ein paar andere Testsachen im Quellcode.

    Habe mal 2 Sachen auskommentiert da ich gerade nicht weiß wie ich mein Panel korrekt übergeben kann, damit es ausgedruckt wird. Also in einer Klasse ist nur mein Panel (es wird da später nur Labels und TextFields geben). In einer anderen View-Klasse wird dieses Panel anhand der Methode getDateiauskunftDetailsPanel() übergeben. Zusätzlich gibts hier aber noch ein paar andere Methoden. Und dann wird über die Ctrl-Klasse der Rest gesteuert. Das Aufrufen der "Detail anzeigen"-GUI sowie das Betätigen des Drucken Buttons (inklusive Erscheinen des Druckdialogs) klappt einwandfrei.

    Nur was muss ich noch genau in den Quellcode integrieren damit er mir nur den Inhalt des Panels ausdruckt. Kann mir da jemand weiterhelfen? Im Moment kommt nur eine leere Seite raus (ist mir aber auch bewusst da ich den Teil mit dem g2d.draw .... nicht so richtig hinbekomme).

    Irgendwelche Ideen?

  15. Bitte meine Idee nicht falsch verstehen. Selber machen musste ich sowas auch noch nicht. Wäre nur mein Ansatz gewesen, den ich zu erst untersucht hätte.

    Ob du das erstellen in einer JavaKlasse löst oder in mehreren ist ne Designfrage. Aber mach es in mehreren alles in einer wird nen ziemlicher Spagetticode. Denk daran du wirst das Zeug wahrscheinlich auch warten müssen.

    Wie meinst du das in ein XML-File auslagern?

    Gruß Moha

    Wie ich gesehen habe wurde zum Beispiel die Menüstruktur unserer eigenen internen Arbeitsplattform (alles mit Eclipse in Java geschrieben) als xml-Datei ausgelagert. Diese nennt sich applications.xml und man kann recht schnell die eigenen Anwendungen, die man schreibt, halt in die komplette Arbeitsplattform integrieren. Aufgerufen wird jede Anwendung über eine Ctrl-Klasse.

    Hätte ja sein können das Du mit Deinem Vorschlag gemeint hast das ich die eigentliche Vorlage (wie die Ansicht nach einem Klick auf einem markierten Datensatz sowie den Button "Details Anzeigen" aussieht) in einer separaten xml-File erstelle und in einer normalen Klassendatei dann eben nur die Verbindung zu dieser xml-File vollziehe.

  16. Nur mal mein Gedanke zu deinem Problem.

    ich würde versuchen den Datensatz als HTML Seite zu exportieren. Danach kann die Anzeige und das Drucken jeder beliebige Browser erledigen.

    Man müsste sich also "nur" um das erstellen der HTML Seite kümmern.

    Diese speichern und im Standard-Browser laden.

    Für das Erstellen könntest du mal schauen ob

    javax.swing.text

    javax.swing.text.html

    javax.swing.text.html.parser

    was für dich sind.

    Andererseits klingt das Thema auch verdächtig danach schon mal erfunden worden zu sein. Also wie hier schon jemand sagte mal nach Frameworks schauen.

    Hoffe das war noch ein sinnvoller Gedanke für dich.

    Gruß Moha

    Klingt auch sehr gut! Zumal dann eben auch der Vorteil herrscht das ich mich auch nicht noch zusätzlich um so Sachen wie Print Jobs kümmern muss. Standardmäßig ist hier im Haus auf jedem Client der Internet Explorer installiert.

    Nehmen wir an ich versuche Deine Lösung. Ist es dann auch so das ich in einer einzigen Klassendatei mein HTML Grundgerüst mit den Tables etc. zusammenbau oder muss ich in Eclipse alles zusätzlich in ner xml-File auslagern?

  17. Ich frage mich gerade: Wieso denn unbedingt HTML, wenn keine zwingender Bedarf besteht? Deine Anforderung ist doch "nur" etwas ausdruckbares zu haben, oder?

    Dann würde ich sagen: Vergiss HTML (zumindest die direkte Erstellung) und sieh dir lieber andere Frameworks an, die dir eine strukturierte Ausgabe deiner Daten ermöglichen.

    Spontan fällt mir da JasperReports ein, was die verschiedensten Ausgabeformate unterstützt. Swing direkt, PDF, HTML, und AFAIK noch eine Reihe anderer. Ist einfach einzubinden, liefert gute Ergebnisse, da würde ich mich primär dran halten.

    HTML wurde vom Auftraggeber genannt. Ich denke dies wurde auch deswegen genannt da es für Ihn ja eine mittlerweile mehr als gewohnte Struktur ist. Die Vorlage die ich hier auf dem Papier vorliegen habe hat zentral eine größere Informationstabelle. Im Kopf des Blattes befindet sich von der jeweiligen Institution die Adressanschrift und einige andere Informationen! Hab erst gedacht es über (X)HTML recht gut nachzubauen (u.A. mit Tables). Dann müsste halt nur immer an den entsprechenden Stellen meine Variablen durch die zuvor im Datensatz markierten Informationen ersetzt werden.

    Wegen der Funktionalität: Der User soll auf jedenfall die Möglichkeit haben drucken zu können; angedacht war auch ein Speichern aber das hängt wohl noch in der Schwebe.

    Ich werde mir auf jedenfall Deinen Link zu den JasperReports anschauen und hoffe das ich damit etwas anfangen kann.

    Habe auch an SWT gedacht aber da scheint die Portabilität drunter zu leiden da es in der JRE standardmäßig natürlich nicht mitgeliefert wird (beschränkt sich ja bei grafischen Dingen afaik auf AWT und Swing).

    Tagchen!

    Puh ein ziemlich schwieriges Thema. Aber erstmal Glückwunsch, dass du es so gut beschrieben und erklärt hast ;).

    Zum Anzeigen von HTML eignet sich eine JEditorPane schon!

    Bearbeiten nur seeeehr eingeschränkt.

    Außerdem gibt es ein paar Einschränkungen (CSS, XHTML kompatibles HTML funktionierte bei mir nicht immer)...

    Aber für alle "normalen" Sachen (Tabellen, etc.) eignet es sich.

    Das Drucken könntest du über einen Printjob lösen. Hier kann man Swing Komponenten direkt drucken (korrigiert mich, falls das nicht möglich ist ;)). Du könntest also einfach die komplette JEditorPane drucken.

    Schönen Tag noch,

    Neko

    Ja ist nicht immer so einfach sich nur auf das Wesentliche zu beschränken. Für mich ist halt der richtige Schritt bei der Umsetzung wichtig. Ich will ja auch nicht unnötige zeitliche Ressourcen verbraten. Gleichzeitig soll es natürlich auch den Anforderungen im weitesten Sinne genügen.

    Ist für mich halt nur etwas schwieriger da ich mit der Materie Java noch nicht perfekt vertraut bin (war für ca. 1 Jahr raus) und ich es mir ja auch durch learning by doing immer mehr aneignen will (wobei ich mir möglichst bald wohl noch ein paar Schulungen beantragen werde). :D

    Sollte Euch noch was einfallen oder Ihr noch weitere gute Beispiele zu meinem Anliegen haben immer raus damit! :)

  18. Hallo Leute,

    aktuell habe ich eine neue Aufgabe bekommen. Und zwar ist es so das ich meine eigene Java Anwendung um eine wichtige zusätzliche Funktionalität erweitern soll.

    Zunächst einmal eine grobe Beschreibung zu meiner Anwendung:

    Meine Anwendung ist eine Client-Server-Anwendung (Visualisierung konkreter Datenbestände mit Hilfe einer GUI) mit JDBC Connector und der Anwender hat die Möglichkeit spezielle Suchfilter zu benutzen, um in einer speziellen DB-Tabelle ein Ergebnis zu erzielen. Die Suche sowie die dazugehörige Ergebnismenge ist bereits komplett abgeschlossen und funktioniert auch mit meiner GUI Anwendung einwandfrei.

    Jetzt soll der Anwender aber auch die Möglichkeit haben, sich die Ergebnisinformationen, die mir die Anwendung in Tabellenform liefert, als HTML Seite anzuzeigen (spezielle Vorlage, wie das Ganze in HTML auszusehen hat, ist auf dem Papier vorhanden!) und sich diese Vorlage dann auch auszudrucken.

    Soll heißen er markiert eben den Satz den er haben will in der Ergebnismenge (ist ein TableModel) und klickt z.B. auf nen Button "Anzeigen" (hab ich vorab schon erstellt und wird in der initialize()-Methode meiner View-Klasse integriert sobald die Verbindung zur HTML Vorlage abgeschlossen ist) und dann soll eben die HTML Vorlage erscheinen (mit eben den Informationen aus der Tabelle). Diese HTML Seite soll nach Möglichkeit auch ausgedruckt werden können. So bevor Ihr Euch jetzt fragt wieso man das Ganze noch als HTML Seite haben soll kann ich Euch sagen das bei uns die Sachbearbeiter zwar mit meiner Anwendung unseren Partnern am Telefon Auskunft über gewisse Datensätze geben können; unsere Partner aber natürlich auch unter Umständen etwas Festes in der Hand haben wollen (daher die Möglichkeit eine HTML Vorlage anzuzeigen und das Ganze auszudrucken).

    Bisher habe ich ein wenig recherchiert und mir sind ein paar Dinge durch den Kopf gegangen. So wie ich gesehen habe wird des öfteren immer wieder JEditorPane genannt, das wohl html basierten Text anzeigen kann. Das Blöde an der Sache wäre nur das ich dann irgendwie die zusätzliche Funktionalität des Druckens integrieren müsste. Und ob das so trivial möglich ist weiß ich eben nicht (gibt soviel ich weiß auch ne Print API).

    Schlecht wäre es natürlich nicht wenn es einen internen Java Standardbrowser mit ganz wenigen Funktionen geben würde (z.B. Drucken). Dann müsste ich nicht das Eine (eventuell mit JEditorPane die Vorlage erstellen) und später das Andere (eigene modifizierte Druck-Klasse schreiben) benutzen sondern könnte es mir wohl ein wenig leichter machen. Gibt es so einen Java Standardbrowser (oder etwas ähnliches) überhaupt in Java 5?

    Mir gehts jetzt auch zunächst nicht darum das Ihr mir hier sofort die fertige Lösung programmiert sondern ersteinmal um die Logik (wie ich das Problem am besten lösen könnte).

    Die Suche habe ich benutzt und vor ganzen 3 Jahren (!) hatte perdian (der sich mit Java wohl sehr gut auskennt) folgendes geschrieben:

    Ich würde generell auf JEditorPane verzichten. Die HTML Funktionalitäten sind weit hinter der Zeit zurückgeblieben (HTML 3.0 wird noch vernünftig angezeigt, das wars dann auch schon) und ist eigentlich mehr für Rendering als für Edit-Operationen ausgelegt.

    Alternativ kann man die beiden folgenden Pakete mal ausprobieren:

    Unter SWT das Browser Widget

    Viewing HTML pages with SWT Browser widget

    oder Swing basiert die WebBrowser Kompenente von JDIC

    https://jdic.dev.java.net/

    Beide basieren nicht auf einer eigenen Browser Engine sondern embedden den IE (Win32) bzw. Mozilla (*nix). Damit ist zumindesens die Darstellung sehr gut, was das Bearbeiten angeht könnte es schwieriger werden, da hab ich mich bisher noch nicht wirklich mit beschäftigt.

    Ich werde mir beide Links mal von der Theorie her zu Gemüte führen, würde aber parallel dazu gerne wissen, ob es nicht vielleicht mittlerweile deutlich bessere Möglichkeiten gibt oder JEditorPane momentan doch eine gute Wahl wäre. Da ich Java nicht mal so eben aus dem Ärmel runterprogrammieren kann, werde ich es mir vielleicht auch etwas schwieriger machen als es vielleicht ist.

    Es ist auf jedenfall so das der Anwender wenn immer nur einen (!) Satz zum Anzeigen und späteren ausdrucken benutzen wird.

    Für erste Meinungen und Lösungsansätze wäre ich sehr dankbar!

  19. Servus,

    Du öffnest ja auch nicht einen Tooltip, sondern sagst der Komponente nur, welchen Text sie in einem Tooltip anzeigen soll.

    Eine Lösung wäre, selbst einen Tooltip anzuzeigen, das ist ja nichts weiter als eine kleine gelbe Komponente am Mauszeiger. Oder Du schaust mal ins Java Tutorial (How to Use Tool Tips (The Javaâ„¢ Tutorials > Creating a GUI with JFC/Swing > Using Swing Components)) und schaust Dir speziell das Handling mit JToolTip und JToolTipManager an.

    Peter

    Hi,

    das Tutorial habe ich mir ebenfalls angesehen. Wenn ichs richtig in Erinnerung habe hab ich gesehen das es standardmäßig eine delay-Methode innerhalb des TooltipManagers gibt, wo in Millisekunden festgelegt wird wann der Tooltip sichtbar wird. So gesehen müsste ich diese delay-Methode für meine eigene Klasse nur überschreiben (eben auf 0 setzen).

    Da es aber ein extremer Sonderfall gewesen wäre (nur für eine Anwendung) und ich momentan eine wichtigerere Aufgabe habe ist dies vorerst auf Eis gelegt.

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