<?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>Blog @ SIB Visions &#187; Swing</title>
	<atom:link href="http://blog.sibvisions.com/tag/swing/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.sibvisions.com</link>
	<description>Blog @ SIB Visions</description>
	<lastBuildDate>Mon, 30 Mar 2026 11:14:36 +0000</lastBuildDate>
		<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Full-Screen Mode for JVx applications</title>
		<link>https://blog.sibvisions.com/2017/08/28/full-screen-mode-for-jvx-applications/</link>
		<comments>https://blog.sibvisions.com/2017/08/28/full-screen-mode-for-jvx-applications/#comments</comments>
		<pubDate>Mon, 28 Aug 2017 13:26:46 +0000</pubDate>
		<dc:creator>rjahn</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[JVx]]></category>
		<category><![CDATA[Swing]]></category>

		<guid isPermaLink="false">https://blog.sibvisions.com/?p=7096</guid>
		<description><![CDATA[If you have a JVx application and want to use it without the frame border, it's not supported out-of-the-box. Sometimes it's very useful to have a full-screen application or to grab a screenshot without frame.
We now support this feature for Swing based applications but not in the official UI API. Here's a code snippet:

//F12 for [...]]]></description>
			<content:encoded><![CDATA[<p>If you have a JVx application and want to use it without the frame border, it's not supported out-of-the-box. Sometimes it's very useful to have a full-screen application or to grab a screenshot without frame.</p>
<p>We now support this feature for Swing based applications but not in the official UI API. Here's a code snippet:</p>
<div class="codesnip-container" >
<div class="java codesnip" style="font-family:monospace;"><span class="co1">//F12 for toggling mode</span><br />
KeyboardFocusManager.<span class="me1">getCurrentKeyboardFocusManager</span><span class="br0">&#40;</span><span class="br0">&#41;</span>.<span class="me1">addKeyEventDispatcher</span><span class="br0">&#40;</span><span class="kw1">new</span> KeyEventDispatcher<span class="br0">&#40;</span><span class="br0">&#41;</span> <br />
<span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; @Override<br />
&nbsp; &nbsp; &nbsp; <span class="kw1">public</span> <span class="kw4">boolean</span> dispatchKeyEvent<span class="br0">&#40;</span><span class="kw3">KeyEvent</span> e<span class="br0">&#41;</span> <br />
&nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>e.<span class="me1">getKeyCode</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="sy0">==</span> <span class="kw3">KeyEvent</span>.<span class="me1">VK_F12</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>ObjectCache.<span class="me1">get</span><span class="br0">&#40;</span><span class="st0">&quot;FULLSCREEN&quot;</span><span class="br0">&#41;</span> <span class="sy0">==</span> <span class="kw2">null</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ObjectCache.<span class="me1">put</span><span class="br0">&#40;</span><span class="st0">&quot;FULLSCREEN&quot;</span>, <span class="kw3">Boolean</span>.<span class="kw2">TRUE</span>, 500<span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; SwingApplication app <span class="sy0">=</span> <span class="br0">&#40;</span>SwingApplication<span class="br0">&#41;</span>getLauncher<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; app.<span class="me1">setFullScreen</span><span class="br0">&#40;</span><span class="sy0">!</span>app.<span class="me1">isFullScreen</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="kw2">true</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="kw2">false</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="kw2">false</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
<span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</div>
<p>The trick with <strong>FULLSCREEN</strong> is necessary because the event fires sometimes more than once.</p>
<p>Simply press F12 key to toggle between Fullscreen/Frame mode.</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.sibvisions.com/2017/08/28/full-screen-mode-for-jvx-applications/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>eTV in Action</title>
		<link>https://blog.sibvisions.com/2015/12/18/etv-in-action/</link>
		<comments>https://blog.sibvisions.com/2015/12/18/etv-in-action/#comments</comments>
		<pubDate>Fri, 18 Dec 2015 07:00:21 +0000</pubDate>
		<dc:creator>rjahn</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[eTV]]></category>
		<category><![CDATA[JVx]]></category>
		<category><![CDATA[Swing]]></category>
		<category><![CDATA[vaadinUI]]></category>
		<category><![CDATA[VisionX]]></category>

		<guid isPermaLink="false">http://blog.sibvisions.com/?p=5286</guid>
		<description><![CDATA[Some days ago, I wrote about our eTV project. The blog post had some pictures but no more details. I want to tell you some details about this project because it's simply awesome.
The project was a research project of our framework team and was started just for fun. The use-case was simple: Our room had [...]]]></description>
			<content:encoded><![CDATA[<p>Some days ago, I wrote about our eTV project. The blog post had some pictures but no more details. I want to tell you some details about this project because it's simply awesome.</p>
<p>The project was a research project of our framework team and was started just for fun. The use-case was simple: Our room had 4 walls and 3 were full with pictures and world maps. Only one wall was empty. Why not using a flat TV for showing different content like livestreams, comic strips, images.</p>
<p>The idea was great and some days later, the last wall was full. A nice 43" flat TV was mounted.</p>
<p>We thought that a RaspberryPi could bring the content to the TV because it's a small device and fits behind the TV. Java works without problems on the Pi and JVx as well.</p>
<p>After all hardware pieces were ready, it was time to think about the software because a sort of control center was needed to implement some features. The plan was to write a simple server which has a set of commands like: open website, show image, play livestream, execute command, upload file, download file.</p>
<p>The server was implemented as simple socket server, with JVx. It executes pre-configured commands and has some important control features: take screenshot, next - previous window, get window list, close window. The server has no GUI and is more or less a window/process manager.</p>
<p>The server has no GUI, but we need a GUI to control the server. We wrote a simple JVx application as remote control. The remote control application was deployed on a Jetty application server (on the RasPi, with vaadin UI) and as <a href="http://blog.sibvisions.com/2015/11/28/5250/">mobile JavaFX application</a>. Jetty runs fine on the RasPi and our vaadin UI as well.</p>
<p>The TV with RaspberryPi, streaming a Video from YouTube:</p>
<div id="attachment_5288" class="wp-caption aligncenter nomargin" style="width: 310px"><a href="http://blog.sibvisions.com/wp-content/uploads/2015/12/eTV_stream.jpg" rel="lightbox[5286]"><img src="http://blog.sibvisions.com/wp-content/uploads/2015/12/eTV_stream-300x225.jpg" alt="eTV YouTube Stream" title="eTV_stream" width="300" height="225" class="size-medium wp-image-5288" /></a><p class="wp-caption-text">eTV YouTube Stream</p></div>
<p>After we were ready with the server, we tried to create a simple JVx demo application to demonstrate JVx on embedded devices. It was funny to use eTV for live streams or to show images, but what about real-world use-cases?</p>
<p>The idea was about a JavaFX application, running on the RasPi. The application could be a monitoring app for a warehouse with a nice looking frontend and a backoffice view for administration. It's usual to have a nice looking frontend and a not so nice looking backoffice part.</p>
<p>We've implemented an application for a big assembly hall. The application is a styled JVx application but still 100% JVx. We've used VisionX to create the UI:</p>
<table>
<tr>
<td><div id="attachment_5291" class="wp-caption alignnone nomargin" style="width: 310px"><a href="http://blog.sibvisions.com/wp-content/uploads/2015/12/hall.jpg" rel="lightbox[5286]"><img src="http://blog.sibvisions.com/wp-content/uploads/2015/12/hall-300x170.jpg" alt="VisionX design mode" title="hall" width="300" height="170" class="size-medium wp-image-5291" /></a><p class="wp-caption-text">VisionX design mode</p></div></td>
<td style="width: 20px;"></td>
<td><div id="attachment_5292" class="wp-caption alignnone nomargin" style="width: 310px"><a href="http://blog.sibvisions.com/wp-content/uploads/2015/12/etv_tvhall.jpg" rel="lightbox[5286]"><img src="http://blog.sibvisions.com/wp-content/uploads/2015/12/etv_tvhall-300x225.jpg" alt="TV mode" title="etv_tvhall" width="300" height="225" class="size-medium wp-image-5292" /></a><p class="wp-caption-text">TV mode</p></div></td>
<tr>
</table>
<p>The application in VisionX is not 100% the same as on the TV because of the screen resolution, but it's the same source code and VisionX works with this application. The application on the TV hides the application frame and only shows the screen content, but this is a supported feature.</p>
<p>The UI technology is not JavaFX! We tried to use JavaFX but it wasn't possible because the RasPi had performance problems with the amount of nodes. It wasn't possible to reduce the amount of used nodes with standard JavaFX controls. Overclocking the Pi didn't solve the problem.</p>
<p>We simply switched to Swing and didn't have any performance problems. So, the UI technology is good old Swing. It works great in combination with the RasPi and we think the result is also nice!</p>
<p>The application is a monitoring application for different events, like performance, effort, pressure, temperature, aerodynamics, alerts. We did connect a temp sensor and two buzzers to get a better real-world experience and because it was easy to support with a RasPi. Initial setup:</p>
<div id="attachment_5298" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.sibvisions.com/wp-content/uploads/2015/12/etv_buzzer.jpg" rel="lightbox[5286]"><img src="http://blog.sibvisions.com/wp-content/uploads/2015/12/etv_buzzer-300x275.jpg" alt="Initial setup" title="etv_buzzer" width="300" height="275" class="size-medium wp-image-5298" /></a><p class="wp-caption-text">Initial setup</p></div>
<p>The backoffice/backend was deployed as web application (Jetty on RaspberryPi, JVx vaadin UI) because it should be possible to use it on tablets or smartphones without native apps:</p>
<div id="attachment_5300" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.sibvisions.com/wp-content/uploads/2015/12/eTV_backend.jpg" rel="lightbox[5286]"><img src="http://blog.sibvisions.com/wp-content/uploads/2015/12/eTV_backend-300x181.jpg" alt="Backend view" title="eTV_backend" width="300" height="181" class="size-medium wp-image-5300" /></a><p class="wp-caption-text">Backend view</p></div>
<p>The same UI on mobile phones:<br />
<center></p>
<table>
<tr>
<td><div id="attachment_5301" class="wp-caption alignnone nomargin" style="width: 179px"><a href="http://blog.sibvisions.com/wp-content/uploads/2015/12/etv_mobile.jpg" rel="lightbox[5286]"><img src="http://blog.sibvisions.com/wp-content/uploads/2015/12/etv_mobile-169x300.jpg" alt="Mobile view" title="etv_mobile" width="169" height="300" class="size-medium wp-image-5301" /></a><p class="wp-caption-text">Mobile view</p></div></td>
<td style="width: 20px;"></td>
<td><div id="attachment_5302" class="wp-caption alignnone nomargin" style="width: 179px"><a href="http://blog.sibvisions.com/wp-content/uploads/2015/12/etv_mobile_full.jpg" rel="lightbox[5286]"><img src="http://blog.sibvisions.com/wp-content/uploads/2015/12/etv_mobile_full-169x300.jpg" alt="Mobile view (no menu)" title="etv_mobile_full" width="169" height="300" class="size-medium wp-image-5302" /></a><p class="wp-caption-text">Mobile view (no menu)</p></div></td>
</tr>
</table>
<p></center></p>
<p>The application is a 100% JVx application with Swing UI and vaadin UI. Everything runs directly on the RaspberryPi. </p>
<p>We've used the whole eTV system as showcase application at DOAG conference in November:</p>
<div id="attachment_5305" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.sibvisions.com/wp-content/uploads/2015/12/etv_doag.jpg" rel="lightbox[5286]"><img src="http://blog.sibvisions.com/wp-content/uploads/2015/12/etv_doag-300x225.jpg" alt="eTV @ DOAG 2015" title="etv_doag" width="300" height="225" class="size-medium wp-image-5305" /></a><p class="wp-caption-text">eTV @ DOAG 2015</p></div>
<p>The results of our "research project" are awesome and eTV is a ready-to-use product. We didn't code one line of code to support different UI technologies and didn't have problems with resolutions of tablets, smartphones or the TV (#responsive). </p>
<p>Thanks to JVx it was super easy to create an amazing application.</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.sibvisions.com/2015/12/18/etv-in-action/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oracle Forms with JavaFx and Swing</title>
		<link>https://blog.sibvisions.com/2012/05/31/oracle-forms-with-javafx-and-swing/</link>
		<comments>https://blog.sibvisions.com/2012/05/31/oracle-forms-with-javafx-and-swing/#comments</comments>
		<pubDate>Thu, 31 May 2012 10:36:06 +0000</pubDate>
		<dc:creator>rjahn</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[JavaFX]]></category>
		<category><![CDATA[Oracle Forms]]></category>
		<category><![CDATA[Swing]]></category>

		<guid isPermaLink="false">http://blog.sibvisions.com/?p=1486</guid>
		<description><![CDATA[I'm sure that some of you have already used custom swing controls in Forms applications to enrich them. But have you tried to use JavaFx together with your Forms application?
JavaFx has cool effects, animations, controls, css styling and much more.
If you enter 'oracle forms javafx' or similar, in your favourite search engine, you get no [...]]]></description>
			<content:encoded><![CDATA[<p>I'm sure that some of you have already used custom swing controls in Forms applications to enrich them. But have you tried to use JavaFx together with your Forms application?</p>
<p>JavaFx has cool effects, animations, controls, css styling and much more.</p>
<p>If you enter 'oracle forms javafx' or similar, in your favourite search engine, you get no specific results. So I think it is time to integrate JavaFx to an Oracle Forms application, isnt't it?<br />
<br/><center><strong style="font-size: 18px">- It is a world premiere -</strong></center><br />
<br/>First, a screenshot:</p>
<div id="attachment_1487" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.sibvisions.com/wp-content/uploads/2012/05/oforms_swing_javafx.png" rel="lightbox[1486]"><img src="http://blog.sibvisions.com/wp-content/uploads/2012/05/oforms_swing_javafx-300x292.png" alt="Oracle Forms and JavaFx" title="Oracle Forms and JavaFx" width="300" height="292" class="size-medium wp-image-1487" /></a><p class="wp-caption-text">Oracle Forms and JavaFx</p></div>
<p>We used the source code from the <a href="http://docs.oracle.com/javafx/2/swing/jtable-barchart.htm">official example</a>, that integrates JavaFx in a Swing application.</p>
<p>The result of our integration is a screen that contains Swing and JavaFx controls. If you change a value in the table, the chart is updated immediately. It is really cool because the chart has nice transition effects.</p>
<p>You can combine rapid application development with modern controls and new development concepts.</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.sibvisions.com/2012/05/31/oracle-forms-with-javafx-and-swing/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Swing RETRO application - MP3Tool - update</title>
		<link>https://blog.sibvisions.com/2012/03/16/swing-retro-application-mp3tool-update/</link>
		<comments>https://blog.sibvisions.com/2012/03/16/swing-retro-application-mp3tool-update/#comments</comments>
		<pubDate>Fri, 16 Mar 2012 20:35:56 +0000</pubDate>
		<dc:creator>rjahn</dc:creator>
				<category><![CDATA[Retro]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Swing]]></category>

		<guid isPermaLink="false">http://blog.sibvisions.com/?p=1371</guid>
		<description><![CDATA[In the Swing RETRO application article, I wrote about my personal MP3Tool. When the tool was developed, the ID3v2 Tag was not very important and the cover image was not relevant. Now, every modern mp3 file has a cover or front or band image. The problem is that the "original" MP3Tool does not support images.
Because [...]]]></description>
			<content:encoded><![CDATA[<p>In the <a href="http://blog.sibvisions.com/2012/01/09/swing-retro-application/">Swing RETRO application</a> article, I wrote about my personal MP3Tool. When the tool was developed, the ID3v2 Tag was not very important and the cover image was not relevant. Now, every modern mp3 file has a cover or front or band image. The problem is that the "original" MP3Tool does not support images.</p>
<p>Because it is important for me, to change files with covers too, I decided to implement a simple image support. And during my research I found other features that are often used: Lyrics Tag and APE Tag. I have never heard about them. So I decided to implement at least delete support, for those Tags.</p>
<p>After some hours, the implementation was done. I was positive surprised about the source code quality, because the code is really old. It was amazing good.</p>
<p>The update version is available <a href="http://blog.sibvisions.com/wp-content/uploads/2012/03/mp3tool_2_2.zip">here</a> and the version is now 2.2.</p>
<p><a href="http://blog.sibvisions.com/wp-content/uploads/2012/03/id3v2_cover.png" rel="lightbox[1371]"><img src="http://blog.sibvisions.com/wp-content/uploads/2012/03/id3v2_cover-300x100.png" alt="Cover images" title="Cover images" width="300" height="100" class="aligncenter size-medium wp-image-1372" /></a></p>
<p><em>The tool is not a SIB Visions Tool.</em></p>
]]></content:encoded>
			<wfw:commentRss>https://blog.sibvisions.com/2012/03/16/swing-retro-application-mp3tool-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Swing RETRO application</title>
		<link>https://blog.sibvisions.com/2012/01/09/swing-retro-application/</link>
		<comments>https://blog.sibvisions.com/2012/01/09/swing-retro-application/#comments</comments>
		<pubDate>Mon, 09 Jan 2012 19:59:54 +0000</pubDate>
		<dc:creator>rjahn</dc:creator>
				<category><![CDATA[Retro]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Swing]]></category>

		<guid isPermaLink="false">http://blog.sibvisions.com/?p=1250</guid>
		<description><![CDATA[During christmas break, I checked my (very) old personal Java applications. One of the first comments was from 2001. A long time ago. I had no UI framework, no testing framework and no automatic build process. All was hand-made   I was amazed that I could read and edit the source code without problems.
One [...]]]></description>
			<content:encoded><![CDATA[<p>During christmas break, I checked my (very) old personal Java applications. One of the first comments was from 2001. A long time ago. I had no UI framework, no testing framework and no automatic build process. All was hand-made <img src='https://blog.sibvisions.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  I was amazed that I could read and edit the source code without problems.</p>
<p>One of my biggest and first applications, that I wrote for my personal use, was "MP3Tool". It is a tool to manage (very) large MP3 inventories, it has cool automations, supports offline edit/merge via XML, supports database loading and has command line support. It has support for ID3v1 and ID3v2. I have implemented my own library to read and write ID3 TAG infos (not complete, but works still great).</p>
<p>The tool is a "developer" tool that is not very user-friendly, but it is 11 years old and has tons of features. It was developed from a developer for a developer <img src='https://blog.sibvisions.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  If someone needs a Java tool for mass editing of MP3 Files - <a href='http://blog.sibvisions.com/wp-content/uploads/2012/01/mp3tool_2_1_5.zip'>here it is</a>. It is not Open Source because it was not relevant in 2001. It is Free for everyone and if someone needs the source code it should not be a problem to upload it somewhere. <img src='https://blog.sibvisions.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>The tool has a German and English language file. I don't know if the auto detection works but you can change the language file in the settings, via Toolbar. I have not tried it on MacOS, but used it very often with Linux. If you search documentation - I have never used one!</p>
<p>I use the tool from time to time and still love it because it just works. After 11 years, I think it is ok to share it with you.</p>
<p>To be sure - The tool is not a SIB Visions Tool - It is a retro style swing application developed long time ago <img src='https://blog.sibvisions.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<table align="center">
<tr>
<td><div id="attachment_1255" class="wp-caption alignnone,nomargin" style="width: 160px"><a href="http://blog.sibvisions.com/wp-content/uploads/2012/01/mp3uebersicht_eingelesen.jpg" rel="lightbox[1250]"><img src="http://blog.sibvisions.com/wp-content/uploads/2012/01/mp3uebersicht_eingelesen-150x150.jpg" alt="mp3uebersicht_eingelesen" title="mp3uebersicht_eingelesen" width="150" height="150" class="alignnone size-thumbnail wp-image-1255" /></a><p class="wp-caption-text">File overview</p></div></td>
<td> </td>
<td><div id="attachment_1257" class="wp-caption alignnone,nomargin" style="width: 160px"><a href="http://blog.sibvisions.com/wp-content/uploads/2012/01/mp3optimierung_ergebnis_mehrfach.jpg" rel="lightbox[1250]"><img src="http://blog.sibvisions.com/wp-content/uploads/2012/01/mp3optimierung_ergebnis_mehrfach-150x150.jpg" alt="mp3optimierung_ergebnis_mehrfach" title="mp3optimierung_ergebnis_mehrfach" width="150" height="150" class="alignnone size-thumbnail wp-image-1257" /></a><p class="wp-caption-text">File optimization</p></div></td>
<td> </td>
<td><div id="attachment_1260" class="wp-caption alignnone,nomargin" style="width: 160px"><a href="http://blog.sibvisions.com/wp-content/uploads/2012/01/mp3konvertierung_konvert.jpg" rel="lightbox[1250]"><img src="http://blog.sibvisions.com/wp-content/uploads/2012/01/mp3konvertierung_konvert-150x150.jpg" alt="mp3konvertierung_konvert" title="mp3konvertierung_konvert" width="150" height="150" class="alignnone size-thumbnail wp-image-1260" /></a><p class="wp-caption-text">TAG conversion</p></div></td>
</tr>
</table>
]]></content:encoded>
			<wfw:commentRss>https://blog.sibvisions.com/2012/01/09/swing-retro-application/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JVx SwingUI extensions</title>
		<link>https://blog.sibvisions.com/2010/09/02/jvx-swingui-extensions/</link>
		<comments>https://blog.sibvisions.com/2010/09/02/jvx-swingui-extensions/#comments</comments>
		<pubDate>Thu, 02 Sep 2010 13:11:36 +0000</pubDate>
		<dc:creator>rjahn</dc:creator>
				<category><![CDATA[API]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[JVx]]></category>
		<category><![CDATA[Swing]]></category>

		<guid isPermaLink="false">http://blog.sibvisions.com/?p=438</guid>
		<description><![CDATA[JVx defines a technology independent User Interface, with Interfaces. Each technology has to implement this interfaces for its components and controls, to be compatible with JVx. We have implemented all this interfaces for Swing.
In addition we have created some swing components with special features for business applications. This components are simple extensions to existing swing [...]]]></description>
			<content:encoded><![CDATA[<p>JVx defines a technology independent User Interface, with Interfaces. Each technology has to implement this interfaces for its components and controls, to be compatible with JVx. We have implemented all this interfaces for Swing.</p>
<p>In addition we have created some swing components with special features for business applications. This components are simple extensions to existing swing components and are supported from any Look and Feel. They can be used in any swing application with or without the whole JVx framework.</p>
<p>We will show here some of this components:</p>
<ul>
<li><strong>DesktopPane with tab or frame mode</strong>
<p>Switch between tab and frame view, Closable tabs (works with java 1.5 and is LaF independent), Drag and Drop Tabs, Tab navigation with keyboard, Modal frames, Background image.</p>
<table>
<tr>
<td>
<div id="attachment_440" class="wp-caption left nomargin" style="width: 160px"><a href="http://blog.sibvisions.com/wp-content/uploads/2010/09/desktop_frames.jpg" rel="lightbox[438]"><img src="http://blog.sibvisions.com/wp-content/uploads/2010/09/desktop_frames-150x150.jpg" alt="Frames" width="150" height="150" class="size-thumbnail wp-image-440" /></a><p class="wp-caption-text">Frame mode</p></div>
</td>
<td style="width:10px"></td>
<td>
<div id="attachment_442" class="wp-caption left nomargin" style="width: 160px"><a href="http://blog.sibvisions.com/wp-content/uploads/2010/09/desktop_tabs.jpg" rel="lightbox[438]"><img src="http://blog.sibvisions.com/wp-content/uploads/2010/09/desktop_tabs-150x150.jpg" alt="Tab mode" width="150" height="150" class="size-thumbnail wp-image-442" /></a><p class="wp-caption-text">Tab mode</p></div>
</td>
<td style="width:10px"></td>
<td><div id="attachment_467" class="wp-caption alignleft nomargin" style="width: 160px"><a href="http://blog.sibvisions.com/wp-content/uploads/2010/09/desktop_background.jpg" rel="lightbox[438]"><img src="http://blog.sibvisions.com/wp-content/uploads/2010/09/desktop_background-150x150.jpg" alt="Desktop Background" width="150" height="150" class="size-thumbnail wp-image-467" /></a><p class="wp-caption-text">Desktop Background</p></div></td>
</tr>
<tr>
<td style="height: 10px"></td>
</tr>
</table>
</li>
<li><strong>ComboBoxes with user-defined popup components</strong>
<p>A base implementation of a ComboBox called ComboBase. With this combo you can build your own ComboBox for e.g. input first and last name in separate fields. We implemented a date chooser and a table selector (header is:</p>
<table>
<tr>
<td>
<div id="attachment_454" class="wp-caption alignleft nomargin" style="width: 160px"><a href="http://blog.sibvisions.com/wp-content/uploads/2010/09/combobase_date.jpg" rel="lightbox[438]"><img src="http://blog.sibvisions.com/wp-content/uploads/2010/09/combobase_date-150x150.jpg" alt="Date Combo" width="150" height="150" class="size-thumbnail wp-image-454" /></a><p class="wp-caption-text">Date Combo</p></div>
</td>
<td style="width:10px"></td>
<td>
<div id="attachment_455" class="wp-caption alignleft nomargin" style="width: 160px"><a href="http://blog.sibvisions.com/wp-content/uploads/2010/09/combobase_table.jpg" rel="lightbox[438]"><img src="http://blog.sibvisions.com/wp-content/uploads/2010/09/combobase_table-150x150.jpg" alt="Table Combo" width="150" height="150" class="size-thumbnail wp-image-455" /></a><p class="wp-caption-text">Table Combo</p></div>
</td>
</tr>
<tr>
<td style="height: 10px"></td>
</tr>
</table>
</li>
<li><strong>Table with load-on-demand model and ready-to-use cell editors/renderers</strong>
<p>A table which uses an IDataBook implementation as model (e.g. MemDataBook) and shows cell editors and renderers dependent of the cell data types, e.g. a table with image renderer and multiple choice editor/renderer</p>
<table>
<tr>
<td>
<div id="attachment_456" class="wp-caption alignleft nomargin" style="width: 160px"><a href="http://blog.sibvisions.com/wp-content/uploads/2010/09/tables_editors.jpg" rel="lightbox[438]"><img src="http://blog.sibvisions.com/wp-content/uploads/2010/09/tables_editors-150x150.jpg" alt="Table with renderer and editor" width="150" height="150" class="size-thumbnail wp-image-456" /></a><p class="wp-caption-text">Table with renderer and editor</p></div>
</td>
</tr>
<tr>
<td style="height: 5px"></td>
</tr>
<tr>
<td>Following editors/renderer are available: <strong>Text</strong>, <strong>Number</strong> (only numbers are allowed), <strong>Date</strong>, <strong>Multiple Choice</strong>, <strong>Image</strong></td>
</tr>
<tr>
<td style="height: 10px"></td>
</tr>
</table>
</li>
<li><strong>Button</strong>
<p>A standard button and a toggle button with support for mouse-over borders.
</li>
<li><strong>Icon</strong>
<p>A special icon which supports image stretching and alignment.
</li>
</ul>
<p><span></span><br />
Our implementation includes not only Swing components. It also contains some useful layouts:</p>
<ul>
<li><strong>FormLayout</strong>
<p>Anchor based layouting. Supports margins, stretching, gaps, ... It is designed for simple and complex forms.
</li>
<li><strong>BorderLayout</strong>
<p>Supports margins.
</li>
<li><strong>SequenceLayout</strong>
<p>Supports component stretching, component orientation, intelligent wrapping.
</li>
</ul>
<p>If you are interested in JVx, leave a comment or join our community.<br />
You are welcome!</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.sibvisions.com/2010/09/02/jvx-swingui-extensions/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
