News combit Dev Blog

List & Label .NET direkt in Java verwenden

Veröffentlicht: Dienstag, 3. Juli 2018 | 0 Kommentar(e)
 
Mit Hilfe von Javonet kann die List & Label .NET Komponente einfach integriert und direkt verwendet werden. Und das bei gewohnter einfacher Handhabung, wie man es von .NET gewohnt ist. Mit dieser Kooperation haben Java-Kunden Zugriff z.B. auf die Echtdatenvorschau im Designer, Drilldown und Berichtsparameter, um nur einige der interaktiven Features zu nennen. 

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 + 
                            "\n\nThis 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()
						+ "\n\nThis 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.




Autor: Daniel Paepke
Consultant, Development & Cooperations

Daniel wurde bei combit zum Softwareentwickler ausgebildet. 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 knappen Freizeit findet man ihn auf seinem Mountainbike rund um den Bodensee und in den nahen Alpen.


 


Kommentare


Aktuell gibt es noch keine Kommentare zu diesem Blogbeitrag.

Ergänzen Sie hier Ihren Kommentar
 
 
 
 
 

Lassen Sie sich über neue Kommentare zu diesem Blogbeitrag informieren


 
+49 (0) 7531 90 60 10