Es bedarf lediglich eines schnell zu schreibenden Wrappers. Hier können auch eigene .NET Objekte oder auch Events verwendet werden. Und auch wenn man es nicht erwartet, da ja über Java auf .NET und wieder zurück nach Java kommuniziert werden muss, ist die Performance wirklich gut.
Nun ist ein solcher auf Javonet basierender Wrapper für die List & Label .NET Komponente in gemeinsamer Kooperation entstanden – inklusive eines passenden Eclipse Java-Beispiels, das bei GitHub bezogen werden kann und eine detaillierte Beschreibung enthält.
.NET-Code mit einfachem Databinding und Druck:
private void OnButtonPrintList() { ListLabel LL = null; try { LL = new ListLabel(); // attach the preview control LL.PreviewControl = this.LLPreviewControl; // bind to the DbCommandSetDataProvider LL.SetDataBinding(CreateDbCommandSetDataProvider(), "Products"); // set the default project name LL.AutoProjectFile = "simple.lst"; // choose a list project LL.AutoProjectType = LlProject.List; // call the print method LL.Print(); } catch (LL_User_Aborted_Exception ex) { // ignore this exception } catch (ListLabelException LlException) { MessageBox.Show("Information: " + LlException.Message + "nnThis information was generated by a List & Label custom exception.", "Information", MessageBoxButtons.OK, MessageBoxIcon.Error ); } finally { if (LL != null) { LL.Dispose(); } } }
Java-Code, der den identischen .NET Code mit Hilfe des Javonet Wrappers abbildet:
private void OnButtonPrintList() { ListLabel LL = null; try { LL = new ListLabel(); // attach the preview control LL.setPreviewControl(this.LLPreviewControl); // bind to the DbCommandSetDataProvider LL.SetDataBinding(CreateDbCommandSetDataProvider(), "Products"); // set the default project name LL.setAutoProjectFile("simple.lst"); // choose a list project LL.setAutoProjectType(LlProject.List); // call the print method LL.Print(this); } catch (LL_User_Aborted_Exception ex) { // ignore this exception } catch (ListLabelException LlException) { JOptionPane.showMessageDialog(null, "Information: " + LlException.getMessage() + "nnThis information was generated by a List & Label custom exception.", "Information", JOptionPane.ERROR_MESSAGE); } finally { if(LL != null) { LL.Dispose(); } } }
So kann List & Label in Java nun genauso einfach wie auch direkt in .NET verwendet werden. Bis jetzt bildet der Wrapper zwar noch nicht die gesamte List & Label .NET Komponente ab, doch das kinderleichte .NET Databinding sowie die zugehörigen Design- und Print-Aufrufe sind bereits enthalten. Und das Beste: Im GitHub Projekt des Javonet Wrappers können eigene Erweiterungen einfach selbst implementiert werden.
Daniel wurde bei combit zum Softwareentwickler ausgebildet und leitet als Manager den Customer Support. Neben der Softwareentwicklung betreut er auch technische Kooperationen mit Geschäftspartnern, hält Workshops für Entwickler und unterstützt das Sales- und Service-Team als Berater im technischen Bereich. In seiner Freizeit findet man ihn auf seinem Mountainbike oder Rennrad rund um den Bodensee und in den nahen Alpen. Er nimmt sich auch Zeit für chinesische Kampfkünste wie Wushu Kungfu und Taichi.