<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Soziotechnische Integration &#187; MT4j</title>
	<atom:link href="https://test.soziotech.org/tag/mt4j/feed/" rel="self" type="application/rss+xml" />
	<link>https://test.soziotech.org</link>
	<description>Ein Projekt mit der Forschungsgruppe Kooperationssysteme an der Universität der Bundeswehr München</description>
	<lastBuildDate>Mon, 15 Jun 2015 15:24:48 +0000</lastBuildDate>
	<language>de-DE</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.2.38</generator>
	<item>
		<title>Multitouch-Entwicklung mit MT4j</title>
		<link>https://test.soziotech.org/multitouch-entwicklung-mit-mt4j/</link>
		<comments>https://test.soziotech.org/multitouch-entwicklung-mit-mt4j/#comments</comments>
		<pubDate>Thu, 23 Feb 2012 20:12:35 +0000</pubDate>
		<dc:creator><![CDATA[Sebastian Jung]]></dc:creator>
				<category><![CDATA[Berichte]]></category>
		<category><![CDATA[Human Computer Interaction]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Largescreen]]></category>
		<category><![CDATA[Natural User Interfaces]]></category>
		<category><![CDATA[Ubiquitäre Natural User Interfaces]]></category>
		<category><![CDATA[Anwendungsentwicklung]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[Gestensteuerung]]></category>
		<category><![CDATA[MT4j]]></category>
		<category><![CDATA[Multitouch]]></category>
		<category><![CDATA[Natural User Interface]]></category>
		<category><![CDATA[Touchscreen]]></category>

		<guid isPermaLink="false">http://sevastyanova.cscwlab.de/?p=3646</guid>
		<description><![CDATA[<p><img src="https://test.soziotech.org/wp-content/uploads/cache/891_crop_940x198_mt-application_2012-01-29_15-37-47.png" width="618" height="130" alt="Multitouch-Entwicklung mit MT4j" /></p>Dieser Artikel stellt den Auftakt einer Serie weiterer Berichte zu &#8222;ersten Schritten&#8220; mit aktuell verfügbaren Multitouch-Entwicklungsumgebungen dar. Innerhalb dieser Serie liefert der vorliegene Bericht einen Überblick über die Entwicklung von Multitouch-Anwendungen mit Multitouch for Java (MT4j). Das Framework bietet umfangreiche &#8230; <a href="https://test.soziotech.org/multitouch-entwicklung-mit-mt4j/">Weiterlesen <span class="meta-nav">&#8594;</span></a><img src="https://analytics.flottmedia.com/piwik/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Ftest.soziotech.org%2Fmultitouch-entwicklung-mit-mt4j%2F&amp;action_name=Multitouch-Entwicklung+mit+MT4j&amp;urlref=http%3A%2F%2Ffeeds.feedburner.com%2Fsoziotech" style="border:0;width:0;height:0" width="0" height="0" alt="" /><div class='yarpp-related-rss'>
<h3>Verwandte Artikel:</h3><ol>
<li><a href="https://test.soziotech.org/konzeption-eines-analyserasters/" rel="bookmark" title="Konzeption eines Analyserasters für die szenario-spezifische Eignungsfeststellung von Multitouch-Tablets">Konzeption eines Analyserasters für die szenario-spezifische Eignungsfeststellung von Multitouch-Tablets </a></li>
<li><a href="https://test.soziotech.org/alternative-moeglichkeiten-zur-interaktion-mit-grossen-vertikalen-displays/" rel="bookmark" title="Alternative Möglichkeiten zur Interaktion mit großen vertikalen Displays">Alternative Möglichkeiten zur Interaktion mit großen vertikalen Displays </a></li>
<li><a href="https://test.soziotech.org/howto-erste-schritte-mit-javafx-2-0/" rel="bookmark" title="Howto &#8211; Erste Schritte mit JavaFX 2.0">Howto &#8211; Erste Schritte mit JavaFX 2.0 </a></li>
</ol>
</div>
]]></description>
				<content:encoded><![CDATA[<p><img src="https://test.soziotech.org/wp-content/uploads/cache/891_crop_940x198_mt-application_2012-01-29_15-37-47.png" width="618" height="130" alt="Multitouch-Entwicklung mit MT4j" /></p><p><em>Dieser Artikel stellt den Auftakt einer Serie weiterer Berichte zu &#8222;ersten Schritten&#8220; mit aktuell verfügbaren Multitouch-Entwicklungsumgebungen dar. Innerhalb dieser Serie liefert der vorliegene Bericht einen Überblick über die Entwicklung von Multitouch-Anwendungen mit <a href="http://www.mt4j.org" title="Zur Projekt-Website von MT4j" target="_blank" class="link-external">Multitouch for Java (<a class="glossaryLink" href="https://test.soziotech.org/glossar/mt4j/" title="Klicken Sie, um zum detaillierten Glossareintrag für MT4j zu springen." onmouseover="tooltip.show('\"Multitouch for Java\" ist ein Framework für die Entwicklung von Multitouch-Applikationen mit der objektorientierten Programmiersprache Java. ');" onmouseout="tooltip.hide();">MT4j</a>)</a>. Das Framework bietet umfangreiche Funktionalität für das Arbeiten mit Multitouch-Hardware und einfach adaptierbare Konzepte zur Entwicklung eigener Anwendungen. Im Folgenden wird nach einer kurzen Einführung die Einrichtung mit Eclipse erläutert, einige Beispielanwendungen vorgestellt sowie ein Minimal-Beispiel implementiert.</em></p>
<h2>Einführung</h2>
<ul>
<li>Java-Framework zur Entwicklung von Multitouch-Anwendungen</li>
<li>Verwendung verschiedener Komponenten (Bilder, Videos, 3D-Objekte)</li>
<li>Anbindung unterschiedlicher Hardware und Protokolle</li>
<li>10 vorhandene Multitouch-Gesten sowie Möglichkeit zur Erstellung von eigenen Gesten</li>
<li>Performante Darstellung durch <a href="https://test.soziotech.org/glossar/opengl/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für OpenGL zu springen." onmouseover="tooltip.show('Die \"Open Graphics Library\" ist eine programmiersprachenunabhängige Schnittstelle zur Entwicklung von 2D und 3D Grafiken. ');" onmouseout="tooltip.hide();">OpenGL</a></li>
</ul>
<h3>Demo</h3>
<p>Um vor der Vorstellung der technischen Details einen ersten Eindruck zu schaffen, demonstriert das folgende Beispielvideo die Funktionalität der mitgelieferten Kartenapplikation:</p>
<p><iframe width="640" height="480" src="http://www.youtube.com/embed/M9gpbl_26zY?feature=oembed" frameborder="0" allowfullscreen></iframe></p>
<h3>Historie</h3>
<p>Das MT4j-Framework wird vom <a href="http://www.iao.fraunhofer.de" title="Zum Internetauftritt des Fraunhofer-Instituts für Arbeitswirtschaft und Organisation" target="_blank" class="link-external">Fraunhofer-Institut für Arbeitswirtschaft und Organisation (<a class="glossaryLink" href="https://test.soziotech.org/glossar/iao/" title="Klicken Sie, um zum detaillierten Glossareintrag für IAO zu springen." onmouseover="tooltip.show('Fraunhofer-Institut für Arbeitswirtschaft und Organisation ');" onmouseout="tooltip.hide();">IAO</a>)</a> entwickelt und basiert (wie der Name schon sagt) auf der weit verbreiteten objektorientierten Programmiersprache Java. Im Herbst 2009 wurde das Framework unter Open Source-Lizenz veröffentlicht und wird seitdem durch die OpenSource-Gemeinde weiterentwickelt. Die Multitouch-Plattform übernimmt alle benötigten Aufgaben, wie beispielsweise die Erkennung von Multitouch-Gesten, deren Umsetzung in Events sowie die erforderliche Grafikausgabe. Es bietet eine umfangreiche Bibliothek mit  vorgefertigten Grafiken, Gesten und Schriften und ist sehr generisch  implementiert, sodass eigene Gesten und Grafiken problemlos hinzugefügt werden  können. Das Framework ist prinzipiell kompatibel zu allen Multitouch  Geräten, da es die Inputs der Hardware abstrahiert.  Als Grundlage hierfür wird die Anbindung an verschiedene <a href="https://test.soziotech.org/glossar/api/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für API zu springen." onmouseover="tooltip.show('Application Programming Interface (dt. Programmierschnittstelle)');" onmouseout="tooltip.hide();">APIs</a> (z.B. <a href="https://test.soziotech.org/glossar/tuio-2/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für TUIO zu springen." onmouseover="tooltip.show('TUIO ist ein Protokoll und eine API für Eingaben von Multitouch-Screens ');" onmouseout="tooltip.hide();">TUIO</a>) bereitgestellt, welche die Eingaben des Touchscreens interpretieren. Die Darstellung  erfolgt über die Grafikschnittstelle OpenGL, sodass die Anwendungen auf entsprechender Hardware  sehr performant sind.</p>
<h2>Komponenten und Aufbau</h2>
<p>Die nachfolgende Tabelle gibt einen Überblick über die technischen Eigenschaften sowie bereitgestellten Gesten und Komponenten des Frameworks:</p>
<table class="h-zebra" border="0" align="center">
<thead>
<tr>
<th class="header">Eigenschaft</th>
<th>Ausprägung bei MT4j</th>
</tr>
</thead>
<tbody>
<tr class="even">
<td class="header">Programmiersprache</td>
<td>
<ul>
<li>Java</li>
</ul>
</td>
</tr>
<tr class="odd">
<td class="header">Rendering</td>
<td>
<ul>
<li>OpenGL</li>
<li>Software-Rendering</li>
</ul>
</td>
</tr>
<tr class="even">
<td class="header">Hardware-Anbindung</td>
<td>
<ul>
<li>Hardwareabstraktion und Input Abstraktion</li>
<li>Es können beliebige Eingabegeräte integriert werden</li>
<li>Native Unterstützung von Windows 7 Multitouch-Features</li>
<li>Unterstützung des TUIO-Protokolls</li>
</ul>
</td>
</tr>
<tr class="odd">
<td class="header">Multitouch-Gesten</td>
<td>
<ul>
<li><a href="https://test.soziotech.org/glossar/drag/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für Drag zu springen." onmouseover="tooltip.show('Das Ziehen von Objekten auf Multitouch-Screens (ähnlich Drag and Drop) ');" onmouseout="tooltip.hide();">Drag</a></li>
<li><a href="https://test.soziotech.org/glossar/rotate/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für Rotate zu springen." onmouseover="tooltip.show('Das Drehen von Objekten auf Multitouch-Screens mit einem oder zwei Fingern ');" onmouseout="tooltip.hide();">Rotate</a></li>
<li><a href="https://test.soziotech.org/glossar/scale/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für Scale zu springen." onmouseover="tooltip.show('Das Vergrößern und Verkleinern (Zoom) von Objekten mit einer Fingergeste (z.B. pinchen) auf Multitouch-Screens ');" onmouseout="tooltip.hide();">Scale</a></li>
<li><a href="https://test.soziotech.org/glossar/tap/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für Tap zu springen." onmouseover="tooltip.show('Das Auswählen eines Objekts durch Tippen auf Multitouch-Screens mit einem Finger (ähnlich einem Mausklick) ');" onmouseout="tooltip.hide();">Tap</a></li>
<li><a href="https://test.soziotech.org/glossar/double-tap/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für Double Tap zu springen." onmouseover="tooltip.show('Das Auswählen von Objekten durch doppeltes Antippen auf einem Multitouch-Screen (ähnlich einem Doppelklick) ');" onmouseout="tooltip.hide();">Double Tap</a></li>
<li><a href="https://test.soziotech.org/glossar/tap-and-hold/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für Tap and Hold zu springen." onmouseover="tooltip.show('Das Auswählen eines Objekts durch halten des Fingers auf einem Multitouch-Screen (ähnlich einem Rechtsklick) ');" onmouseout="tooltip.hide();">Tap and Hold</a></li>
<li><a href="https://test.soziotech.org/glossar/arcball-rotate/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für Arcball Rotate zu springen." onmouseover="tooltip.show('Das dreidimensionale Drehen eines Objekts um einen festen Punkt mit einem Finger auf Multitouch-Screens ');" onmouseout="tooltip.hide();">Arcball Rotate</a></li>
<li><a href="https://test.soziotech.org/glossar/lasso-select/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für Lasso Select zu springen." onmouseover="tooltip.show('Die Auswahl von mehreren Objekten durch Aufspannen eines Auswahlfeldes mit einem Finger auf einem Multitouch-Screen (ähnlich dem selektieren mit einer Maus) ');" onmouseout="tooltip.hide();">Lasso Select</a></li>
<li><a href="https://test.soziotech.org/glossar/flick/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für Flick zu springen." onmouseover="tooltip.show('Eine Richtungsgeste durch kurzes Streichen des Fingers auf einem Multitouch-Screen ');" onmouseout="tooltip.hide();">Flick</a></li>
<li><a href="https://test.soziotech.org/glossar/gesture-draw/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für Gesture Draw zu springen." onmouseover="tooltip.show('Das Zeichnen von Symbolen (zum Beispiel Häckchen) auf einem Multitouch-Screen ');" onmouseout="tooltip.hide();">Gesture Draw</a></li>
</ul>
<ul>
<li>Eigene Gesten können definiert werden</li>
</ul>
</td>
</tr>
<tr class="even">
<td class="header">Bereitgestellte Komponenten</td>
<td>
<ul>
<li>Primitive Vektorgrafiken  <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-3646-1" href="#note-3646-1" onmouseover="tooltip.show('Vierecke, Ellipsen, Polygone, etc. .');" onmouseout="tooltip.hide();"><sup>1</sup></a></li>
<li>Schriften  <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-3646-2" href="#note-3646-2" onmouseover="tooltip.show('Standardschriftarten (True Type) und Vektor-basierte Schriftarten.');" onmouseout="tooltip.hide();"><sup>2</sup></a></li>
<li>Bilder  <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-3646-3" href="#note-3646-3" onmouseover="tooltip.show('Unterstützung gängiger Formate (.jpg, .png, .bmp).');" onmouseout="tooltip.hide();"><sup>3</sup></a></li>
<li>3D-Objekte  <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-3646-4" href="#note-3646-4" onmouseover="tooltip.show('.3ds und .obj Dateien mit Texturen.');" onmouseout="tooltip.hide();"><sup>4</sup></a></li>
<li>Videos  <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-3646-5" href="#note-3646-5" onmouseover="tooltip.show('Unterstützung gängiger Formate.');" onmouseout="tooltip.hide();"><sup>5</sup></a></li>
</ul>
</td>
</tr>
</tbody>
</table>
<h2>Installation</h2>
<p>Das MT4j Framework steht als quelloffener <a href="http://www.mt4j.org/mediawiki/index.php/Downloads" target="_blank" class="link-external">Download</a>, derzeit in Version 0.95 zur Verfügung und ist bereits als ein Eclipse-Projekt strukturiert.</p>
<p class="warningbox">MT4j  läuft derzeit nur mit der 32bit-Variante von Java. Soll ein 64bit System eingesetzt werden, muss trotzdem der 32bit <a href="https://test.soziotech.org/glossar/jdk/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für JDK zu springen." onmouseover="tooltip.show('Java Development Kit; ist eines der von Java-Entwicklern meistgenutzten Java-SDKs aus dem Hause Oracle, ehemals Sun Microsystems. ');" onmouseout="tooltip.hide();">JDK</a> installiert werden. Unter  Eclipse muss entsprechend die 32bit Variante von Java zum Ausführen  der MT4j Anwendungen ausgewählt werden!</p>
<ol>
<li><a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html" target="_blank" class="link-external">Java Development Kit 32bit</a> (gekennzeichnet als x86) herunterladen und installieren</li>
<li>Die heruntergeladene <a href="https://test.soziotech.org/glossar/zip/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für ZIP zu springen." onmouseover="tooltip.show('Dateiformat für komprimierte Daten, in dem verschiedene Dateien in einer Containerdatei zusammengefasst werden können. ');" onmouseout="tooltip.hide();">ZIP</a>-Datei entpacken (MT4j 0.95 full release)</li>
<li>Im Paketexplorer von Eclipse mit Rechtsklick importieren wählen</li>
<li>In dem Importfenster ein &#8222;bereits existierendes Projekt&#8220; auswählen</li>
<li>Den unter 2. entpackten Ordner auswählen und importieren</li>
</ol>

<div class="ngg-galleryoverview" id="ngg-gallery--36460">


	
	<!-- Thumbnails -->
		
	<div id="ngg-image-931" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-0" href="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/import_2012-01-14_20-16-36_0.png" title="
			In dem Fenster ein &quot;bereits existierendes Projekt&quot; auswählen			"  >
								<img alt="In dem Fenster ein &quot;bereits existierendes Projekt&quot; auswählen" src="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/thumbs/thumbs_import_2012-01-14_20-16-36_0.png" width="126" height="100" class="colorbox-0" />
							</a>
			<p class=wp-caption-text>Import Schritt 2</p>
		</div>
	</div>
			
	<div id="ngg-image-1010" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-0" href="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/import_2012-02-21_17-19-40.png" title="
			Die MT4j Ordner auswählen (&quot;mt4j-core&quot; und &quot;mt4j-desktop&quot;)			"  >
								<img alt="Die MT4j Ordner auswählen (&quot;mt4j-core&quot; und &quot;mt4j-desktop&quot;)" src="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/thumbs/thumbs_import_2012-02-21_17-19-40.png" width="126" height="100" class="colorbox-0" />
							</a>
			<p class=wp-caption-text>Import Schritt 3</p>
		</div>
	</div>
			
	<div id="ngg-image-885" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-0" href="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/java-eclipse_2012-01-14_20-15-48.png" title="
			Im Paketexplorer von Eclipse importieren auswählen.			"  >
								<img alt="Im Paketexplorer von Eclipse importieren auswählen." src="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/thumbs/thumbs_java-eclipse_2012-01-14_20-15-48.png" width="126" height="100" class="colorbox-0" />
							</a>
			<p class=wp-caption-text>Import Schritt 1</p>
		</div>
	</div>
			
	<div id="ngg-image-1011" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-0" href="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/java-eclipse_2012-02-21_17-23-16.png" title="
			Eclipse mit korrekt installierten MT4j			"  >
								<img alt="Eclipse mit korrekt installierten MT4j" src="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/thumbs/thumbs_java-eclipse_2012-02-21_17-23-16.png" width="126" height="100" class="colorbox-0" />
							</a>
			<p class=wp-caption-text>Eclispe mit MT4j</p>
		</div>
	</div>
		
	<!-- Pagination -->
 	<div class='ngg-clear'></div>
 	
</div>


<h2>Mitgelieferte Beispiele</h2>
<p>Das MT4j-Paket enthält 19 einfache Beispielanwendungen.  Diese sind unterteilt in die Pakete &#8222;basic&#8220; und &#8222;advanced&#8220; und sind im Ordner  &#8222;examples&#8220; zu finden. Die Basic Examples dienen zum Verstehen und Testen der  grundlegenden Techniken in sehr einfach gehaltenen Applikationen. Die Advanced Examples demonstrieren die Leistungsfähigkeit des Frameworks, indem  beispielsweise 3D Modelle verwendet werden. Jede Anwendung  befindet sich in einem eigenen Paket. Es ist keine weitere Konfiguration  erforderlich, da das Framework alle benötigte Komponenten automatisch sucht  und auswählt. Zum Starten ist jeweils eine &#8222;Start&#8230;Example.java&#8220;  Datei hinterlegt, die als &#8222;Java Application&#8220; in Eclipse ausgeführt werden kann.  Nach dem Start öffnet sich ein neues Fenster innerhalb dessen die  Multitouch-Interaktion möglich ist.</p>
<h3>Basic-Anwendungen</h3>

<div class="ngg-galleryoverview" id="ngg-gallery--36461">


	
	<!-- Thumbnails -->
		
	<div id="ngg-image-892" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-1" href="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/css.png" title="
			Einfache Anwendung zum Manipulieren von geometrischen Flächen mit Multitouch-Gesten			"  >
								<img alt="Einfache Anwendung zum Manipulieren von geometrischen Flächen mit Multitouch-Gesten" src="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/thumbs/thumbs_css.png" width="126" height="100" class="colorbox-1" />
							</a>
			<p class=wp-caption-text>css</p>
		</div>
	</div>
			
	<div id="ngg-image-893" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-1" href="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/helloworld.png" title="
			Eine Applikation zur Manipulation des &quot;Hello World&quot; Schriftzuges			"  >
								<img alt="Eine Applikation zur Manipulation des &quot;Hello World&quot; Schriftzuges" src="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/thumbs/thumbs_helloworld.png" width="126" height="100" class="colorbox-1" />
							</a>
			<p class=wp-caption-text>helloworld</p>
		</div>
	</div>
			
	<div id="ngg-image-894" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-1" href="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/javagui.png" title="
			Es lassen sich Java-eigene Formen einfügen, beliebig kombinieren und durch Mulittouch-Gesten bearbeiten			"  >
								<img alt="Es lassen sich Java-eigene Formen einfügen, beliebig kombinieren und durch Mulittouch-Gesten bearbeiten" src="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/thumbs/thumbs_javagui.png" width="126" height="100" class="colorbox-1" />
							</a>
			<p class=wp-caption-text>javagui</p>
		</div>
	</div>
			
	<div id="ngg-image-895" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-1" href="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/mtgestures.png" title="
			Eine Zusammenfassung von möglichen Gesten, welche das Framework unterstützt			"  >
								<img alt="Eine Zusammenfassung von möglichen Gesten, welche das Framework unterstützt" src="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/thumbs/thumbs_mtgestures.png" width="126" height="100" class="colorbox-1" />
							</a>
			<p class=wp-caption-text>mtgestures</p>
		</div>
	</div>
			
	<div id="ngg-image-896" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-1" href="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/scenes.png" title="
			Beispiel zur Verwendung von verschiedenen Scenen in einer einzigen Applikation			"  >
								<img alt="Beispiel zur Verwendung von verschiedenen Scenen in einer einzigen Applikation" src="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/thumbs/thumbs_scenes.png" width="126" height="100" class="colorbox-1" />
							</a>
			<p class=wp-caption-text>scenes</p>
		</div>
	</div>
			
	<div id="ngg-image-897" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-1" href="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/svgexample.png" title="
			Ein Programm zur Manipulation von Vektorgrafiken mit verschiedenen Multitouch-Gesten			"  >
								<img alt="Ein Programm zur Manipulation von Vektorgrafiken mit verschiedenen Multitouch-Gesten" src="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/thumbs/thumbs_svgexample.png" width="126" height="100" class="colorbox-1" />
							</a>
			<p class=wp-caption-text>svgexample</p>
		</div>
	</div>
		
	<!-- Pagination -->
 	<div class='ngg-clear'></div>
 	
</div>


<h3>Advanced-Anwendungen</h3>

<div class="ngg-galleryoverview" id="ngg-gallery--36462">


	
	<!-- Thumbnails -->
		
	<div id="ngg-image-898" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-2" href="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/drawing.png" title="
			Ein &quot;Finger&quot;-Zeichenprogramm mit einfachen Optionen			"  >
								<img alt="Ein &quot;Finger&quot;-Zeichenprogramm mit einfachen Optionen" src="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/thumbs/thumbs_drawing.png" width="126" height="100" class="colorbox-2" />
							</a>
			<p class=wp-caption-text>drawing</p>
		</div>
	</div>
			
	<div id="ngg-image-899" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-2" href="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/flickrmt.png" title="
			Eine Applikation zum Suchen und Darstellen von Bilder des Dienstes flickr			"  >
								<img alt="Eine Applikation zum Suchen und Darstellen von Bilder des Dienstes flickr" src="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/thumbs/thumbs_flickrmt.png" width="126" height="100" class="colorbox-2" />
							</a>
			<p class=wp-caption-text>flickrmt</p>
		</div>
	</div>
			
	<div id="ngg-image-900" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-2" href="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/fluidsimulator.png" title="
			Ein Simulator, welcher flüssige Partikel anhand von Gesten darstellt			"  >
								<img alt="Ein Simulator, welcher flüssige Partikel anhand von Gesten darstellt" src="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/thumbs/thumbs_fluidsimulator.png" width="126" height="100" class="colorbox-2" />
							</a>
			<p class=wp-caption-text>fluidsimulator</p>
		</div>
	</div>
			
	<div id="ngg-image-901" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-2" href="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/models3d.png" title="
			Es können 3D Modelle dargestellt, gezoomt und beliebig gedreht werden			"  >
								<img alt="Es können 3D Modelle dargestellt, gezoomt und beliebig gedreht werden" src="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/thumbs/thumbs_models3d.png" width="126" height="100" class="colorbox-2" />
							</a>
			<p class=wp-caption-text>models3d</p>
		</div>
	</div>
			
	<div id="ngg-image-902" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-2" href="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/modestmapsmt.png" title="
			Eine Anwendung zur Arbeit mit verschiedenen Kartendiensten, wobei die Karte gezoomt und bewegt werden kann			"  >
								<img alt="Eine Anwendung zur Arbeit mit verschiedenen Kartendiensten, wobei die Karte gezoomt und bewegt werden kann" src="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/thumbs/thumbs_modestmapsmt.png" width="126" height="100" class="colorbox-2" />
							</a>
			<p class=wp-caption-text>modestmapsmt</p>
		</div>
	</div>
			
	<div id="ngg-image-891" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-2" href="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/mt-application_2012-01-29_15-37-47.png" title="
			Eine Shell-Applikation mit dem geladenen 3D-Model Beispiel. In dieser Anwendung können verschiedene Applikationen ausgewählt und geladen werden.			"  >
								<img alt="Eine Shell-Applikation mit dem geladenen 3D-Model Beispiel. In dieser Anwendung können verschiedene Applikationen ausgewählt und geladen werden." src="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/thumbs/thumbs_mt-application_2012-01-29_15-37-47.png" width="126" height="100" class="colorbox-2" />
							</a>
			<p class=wp-caption-text>mtShell</p>
		</div>
	</div>
			
	<div id="ngg-image-903" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-2" href="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/physics.png" title="
			Eine einfache Physiksimulation entsprechend der Multitouch-Gesten			"  >
								<img alt="Eine einfache Physiksimulation entsprechend der Multitouch-Gesten" src="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/thumbs/thumbs_physics.png" width="126" height="100" class="colorbox-2" />
							</a>
			<p class=wp-caption-text>physics</p>
		</div>
	</div>
			
	<div id="ngg-image-904" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-2" href="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/puzzle.png" title="
			Geladene Bilder können in dieser Applikation in ein Puzzle verwandelt werden, welches sich dann zusammensetzen lässt			"  >
								<img alt="Geladene Bilder können in dieser Applikation in ein Puzzle verwandelt werden, welches sich dann zusammensetzen lässt" src="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/thumbs/thumbs_puzzle.png" width="126" height="100" class="colorbox-2" />
							</a>
			<p class=wp-caption-text>puzzle</p>
		</div>
	</div>
			
	<div id="ngg-image-905" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-2" href="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/simpleparticles.png" title="
			Eine Partikelsimulation entsprechend der Multitouch-Eingaben			"  >
								<img alt="Eine Partikelsimulation entsprechend der Multitouch-Eingaben" src="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/thumbs/thumbs_simpleparticles.png" width="126" height="100" class="colorbox-2" />
							</a>
			<p class=wp-caption-text>simpleparticles</p>
		</div>
	</div>
			
	<div id="ngg-image-906" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-2" href="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/space3d.png" title="
			Eine 3D Darstellung der Erde mit Mond, welche gezoomt und gedreht werden kann			"  >
								<img alt="Eine 3D Darstellung der Erde mit Mond, welche gezoomt und gedreht werden kann" src="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/thumbs/thumbs_space3d.png" width="126" height="100" class="colorbox-2" />
							</a>
			<p class=wp-caption-text>space3d</p>
		</div>
	</div>
			
	<div id="ngg-image-907" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-2" href="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/touchtail.png" title="
			Diese Anwendung verwandelt Inputgesten in ein fortlaufendes Bewegungsbild			"  >
								<img alt="Diese Anwendung verwandelt Inputgesten in ein fortlaufendes Bewegungsbild" src="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/thumbs/thumbs_touchtail.png" width="126" height="100" class="colorbox-2" />
							</a>
			<p class=wp-caption-text>touchtail</p>
		</div>
	</div>
			
	<div id="ngg-image-908" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail wp-caption" >
			<a rel="lightbox-2" href="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/water.png" title="
			Eine einfache Wassersimulation, welche durch Berührung Wellen erzeugt			"  >
								<img alt="Eine einfache Wassersimulation, welche durch Berührung Wellen erzeugt" src="https://test.soziotech.org/wp-content/uploads/multitouch-mit-mt4j/thumbs/thumbs_water.png" width="126" height="100" class="colorbox-2" />
							</a>
			<p class=wp-caption-text>water</p>
		</div>
	</div>
		
	<!-- Pagination -->
 	<div class='ngg-clear'></div>
 	
</div>


<h2>Minimalimplementierung</h2>
<p>Eine Multitouch-Anwendung mit MT4j zu schreiben ist denkbar einfach, da sie nur zwei Klassen (Scene und MTApplication) benötigt. Die folgenden beiden Abschnitte geben einen Überblick über die Implementierung eine einfachen Applikation zur  Bildmanipulation. Die Anwendung, die zum Selbsttest ebenfalls als <a href="https://test.soziotech.org/wp-content/uploads/2012/02/Soziotech_MT4j_Beispiel1.zip" class="link-zip">Download </a>verfügbar ist, ermöglicht es,  ein Bild anzuzeigen und dieses mit Standard-Multitouch-Gesten zu manipulieren.</p>
<h3>Scene</h3>
<p>Eine &#8222;Scene als erste benötigte Bestandteil der Anwendung muss die abstrakte Klasse  &#8222;AbstractScene&#8220; erweitern. In dieser Klasse wird festgelegt, welche Komponenten angezeigt werden. Es gibt viele vorgefertigte Elemente, die insbesondere Standard-Multitouch-Gesten bereits beherrschen.  Hierzu gehören beispielsweise Grafiken, Textfelder und Rahmen  für verschiedene andere Objekte. Für unser Minimalbeispiel benötigen wir folgenden Code für die Scene-Klasse:</p>
<pre class="brush:java">package MinimalExample;

import org.mt4j.MTApplication;
import org.mt4j.components.TransformSpace;
import org.mt4j.components.visibleComponents.widgets.MTImage;
import org.mt4j.input.gestureAction.InertiaDragAction;
import org.mt4j.input.inputProcessors.componentProcessors.dragProcessor.DragProcessor;
import org.mt4j.sceneManagement.AbstractScene;
import org.mt4j.util.math.Vector3D;

import processing.core.PImage;

public class PictureScene extends AbstractScene
{
  private String picturePath =  "MinimalExample" + MTApplication.separator + "data" + MTApplication.separator;

  public PictureScene (MTApplication mtApplication, String name)
  {
    super(mtApplication, name);

    MTApplication app = mtApplication;
    PImage img = app.loadImage(picturePath + "pic.jpg");
    MTImage image = new MTImage(img,app);
    image.setUseDirectGL(true);
    image.setPositionGlobal(new Vector3D(400,400,0));
    image.scale(0.2f, 0.2f, 0.2f, image.getCenterPointLocal(), TransformSpace.LOCAL);
    image.addGestureListener(DragProcessor.class, new InertiaDragAction());
    this.getCanvas().addChild(image);
  }

  @Override
  public void init() {}

  @Override
  public void shutDown() {}
}</pre>
<p>Datei ist zu beachten, dass sich das entsprechende Bild im Paket &#8222;MinimalExample.data&#8220; (gekennzeichnet als &#8222;picturePath&#8220;) befinden muss,  damit es geladen werden kann!</p>
<h3>MTApplication</h3>
<p>Die &#8222;Application&#8220;-Klasse dient zum Starten der Anwendung und muss die abstrakte  Klasse &#8222;MTApplication&#8220; erweitern. Die vorher beschriebene Scene wird lediglich  hinzugefügt. Anschließend wird die Anwendung mit dem Methodenaufruf &#8222;initialize()&#8220;  gestartet. Dazu sind lediglich die Folgenden Codezeilen erforderlich:</p>
<pre class="brush:java">package MinimalExample;

import org.mt4j.MTApplication;

public class StartMinimalExample extends MTApplication
{
  private static final long serialVersionUID = 1L;

  public static void main(String args[])
  {
    initialize();
  }

  @Override
  public void startUp()
  {
    this.addScene(new PictureScene(this, "Picture scene"));
  }
}</pre><img src="https://analytics.flottmedia.com/piwik/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Ftest.soziotech.org%2Fmultitouch-entwicklung-mit-mt4j%2F&amp;action_name=Multitouch-Entwicklung+mit+MT4j&amp;urlref=http%3A%2F%2Ffeeds.feedburner.com%2Fsoziotech" style="border:0;width:0;height:0" width="0" height="0" alt="" /><div class="simple-footnotes"><h2 class="notes">Quellen und Fußnoten:</h2><ol><li id="note-3646-1">Vierecke, Ellipsen, Polygone, etc. . <a class="simple-footnote-backlink" href="#return-note-3646-1">&#8617;</a></li><li id="note-3646-2">Standardschriftarten (True Type) und Vektor-basierte Schriftarten. <a class="simple-footnote-backlink" href="#return-note-3646-2">&#8617;</a></li><li id="note-3646-3">Unterstützung gängiger Formate (.jpg, .png, .bmp). <a class="simple-footnote-backlink" href="#return-note-3646-3">&#8617;</a></li><li id="note-3646-4">.3ds und .obj Dateien mit Texturen. <a class="simple-footnote-backlink" href="#return-note-3646-4">&#8617;</a></li><li id="note-3646-5">Unterstützung gängiger Formate. <a class="simple-footnote-backlink" href="#return-note-3646-5">&#8617;</a></li></ol></div><div class='yarpp-related-rss'>
<h3>Verwandte Artikel:</h3><ol>
<li><a href="https://test.soziotech.org/konzeption-eines-analyserasters/" rel="bookmark" title="Konzeption eines Analyserasters für die szenario-spezifische Eignungsfeststellung von Multitouch-Tablets">Konzeption eines Analyserasters für die szenario-spezifische Eignungsfeststellung von Multitouch-Tablets </a></li>
<li><a href="https://test.soziotech.org/alternative-moeglichkeiten-zur-interaktion-mit-grossen-vertikalen-displays/" rel="bookmark" title="Alternative Möglichkeiten zur Interaktion mit großen vertikalen Displays">Alternative Möglichkeiten zur Interaktion mit großen vertikalen Displays </a></li>
<li><a href="https://test.soziotech.org/howto-erste-schritte-mit-javafx-2-0/" rel="bookmark" title="Howto &#8211; Erste Schritte mit JavaFX 2.0">Howto &#8211; Erste Schritte mit JavaFX 2.0 </a></li>
</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>https://test.soziotech.org/multitouch-entwicklung-mit-mt4j/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
