<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Jyloo Software - RSS Feed</title>
    <link>http://www.jyloo.com/news</link>
    <description />
    <copyright>(C) by Jyloo Software, Germany</copyright>
    <dc:rights>(C) by Jyloo Software, Germany</dc:rights>
    <item>
      <title>Window Decoration, Part 6 - TitlePane Layout</title>
      <link>http://www.jyloo.com/news?pubId=1335947397000</link>
      <description>&lt;p&gt;&#xD;
	Everybody knows the commonly used title panel layout for frames which is used by most desktop applications - see sketch below.&lt;/p&gt;&#xD;
&lt;p&gt;&#xD;
	&lt;img alt="regular title pane" src="http://www.jyloo.com/images/blog/windowDecoration/titlePanel/titlePane_regularLayout.png" style="width: 630px; height: 40px;" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&#xD;
	The screenshot below demonstrates how it can look in a real application with the &lt;a href="http://www.jyloo.com/synthetica/themes"&gt;SyntheticaAluOxide&lt;/a&gt; theme.&lt;br /&gt;&#xD;
	&lt;strong&gt;Note:&lt;/strong&gt; In the screenshot the title panel background is not distinguishable from the toolBar even if the toolBar isn&amp;#39;t part of the title panel. The visual behavior depends on the active theme.&lt;/p&gt;&#xD;
&lt;p&gt;&#xD;
	&lt;img alt="SyntheticaTunes screenshot" src="http://www.jyloo.com/images/blog/windowDecoration/titlePanel/syntheticaTunes.png" style="width: 670px; height: 460px;" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&#xD;
	In &lt;a href="../../synthetica"&gt;Synthetica V2.15&lt;/a&gt; we support an additional layout called SECONDARYMENU which is useful to make an application more unique. The sketch below outlines the title panel elements. As you can see the menu button is spanned across two rows and a user component can be directly set for the second row.&lt;/p&gt;&#xD;
&lt;p&gt;&#xD;
	&lt;img alt="" src="http://www.jyloo.com/images/blog/windowDecoration/titlePanel/titlePane_secondaryMenuLayout.png" style="width: 630px; height: 97px;" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&#xD;
	Lets take a closer look at each step to enable this layout/style for the SyntheticaTunes application. The first step is to create a custom XML-file which holds the new window style. Because in most cases you want to change the appearance for the main frame only, Synthetica supports specifying a separate style for a named window.&lt;/p&gt;&#xD;
&lt;pre class="brush:xml"&gt;&#xD;
&amp;lt;!--&#xD;
*******************************************************************************&#xD;
MainFrame style&#xD;
*******************************************************************************&#xD;
--&amp;gt;&#xD;
  &amp;lt;style id=&amp;quot;MainFrame&amp;quot;&amp;gt;&#xD;
    &amp;lt;defaultsProperty key=&amp;quot;Synthetica.rootPane.titlePane.title.visible.MainFrame&amp;quot; type=&amp;quot;boolean&amp;quot; value=&amp;quot;false&amp;quot; /&amp;gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;defaultsProperty key=&amp;quot;Synthetica.rootPane.titlePane.layoutStyle.MainFrame&amp;quot; type=&amp;quot;string&amp;quot; value=&amp;quot;SECONDARYMENU&amp;quot; /&amp;gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;defaultsProperty key=&amp;quot;Synthetica.rootPane.titlePane.showMenuBarInTitlePane.MainFrame&amp;quot; type=&amp;quot;boolean&amp;quot; value=&amp;quot;true&amp;quot; /&amp;gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;defaultsProperty key=&amp;quot;Synthetica.rootPane.titlePane.clipMenuBarWidth.MainFrame&amp;quot; type=&amp;quot;boolean&amp;quot; value=&amp;quot;true&amp;quot; /&amp;gt;&#xD;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;defaultsProperty key=&amp;quot;Synthetica.rootPane.titlePane.title.alignment.MainFrame&amp;quot; type=&amp;quot;integer&amp;quot; value=&amp;quot;11&amp;quot; /&amp;gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;defaultsProperty key=&amp;quot;Synthetica.rootPane.titlePane.menuButton.alignment.MainFrame&amp;quot; type=&amp;quot;integer&amp;quot; value=&amp;quot;11&amp;quot; /&amp;gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;defaultsProperty key=&amp;quot;Synthetica.rootPane.titlePane.iconifyButton.alignment.MainFrame&amp;quot; type=&amp;quot;integer&amp;quot; value=&amp;quot;11&amp;quot; /&amp;gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;defaultsProperty key=&amp;quot;Synthetica.rootPane.titlePane.toggleButton.alignment.MainFrame&amp;quot; type=&amp;quot;integer&amp;quot; value=&amp;quot;11&amp;quot; /&amp;gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;defaultsProperty key=&amp;quot;Synthetica.rootPane.titlePane.closeButton.alignment.MainFrame&amp;quot; type=&amp;quot;integer&amp;quot; value=&amp;quot;11&amp;quot; /&amp;gt;&#xD;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;defaultsProperty key=&amp;quot;Synthetica.rootPane.titlePane.menuBar.insets.MainFrame&amp;quot; type=&amp;quot;insets&amp;quot; value=&amp;quot;4 8 0 0&amp;quot;/&amp;gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;defaultsProperty key=&amp;quot;Synthetica.rootPane.titlePane.menuButton.insets.MainFrame&amp;quot; type=&amp;quot;insets&amp;quot; value=&amp;quot;0 0 0 0&amp;quot;/&amp;gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;defaultsProperty key=&amp;quot;Synthetica.rootPane.titlePane.iconifyButton.insets.MainFrame&amp;quot; type=&amp;quot;insets&amp;quot; value=&amp;quot;2 0 0 0&amp;quot;/&amp;gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;defaultsProperty key=&amp;quot;Synthetica.rootPane.titlePane.toggleButton.insets.MainFrame&amp;quot; type=&amp;quot;insets&amp;quot; value=&amp;quot;2 0 0 0&amp;quot;/&amp;gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;defaultsProperty key=&amp;quot;Synthetica.rootPane.titlePane.closeButton.insets.MainFrame&amp;quot; type=&amp;quot;insets&amp;quot; value=&amp;quot;2 0 0 2&amp;quot;/&amp;gt;&#xD;
  &amp;lt;/style&amp;gt;&#xD;
&lt;/pre&gt;&#xD;
&lt;p&gt;&#xD;
	The most important settings are in the first four entries - the rest covers alignment (set to top - GridBagConstraints.NORTH) and insets. In the next step we have to load the XML-file when the look and feel is set.&lt;/p&gt;&#xD;
&lt;pre class="brush:java"&gt;&#xD;
UIManager.setLookAndFeel(new SyntheticaAluOxideLookAndFeel(){&#xD;
      @Override&#xD;
      protected void loadCustomXML() throws ParseException&#xD;
      {&#xD;
        loadXMLConfig(&amp;quot;/resources/custom.xml&amp;quot;);&#xD;
      }&#xD;
    });&lt;/pre&gt;&#xD;
&lt;p&gt;&#xD;
	To apply the style to the window set the window name and update the rootPaneUI.&lt;/p&gt;&#xD;
&lt;pre class="brush:java"&gt;&#xD;
setName(&amp;quot;MainFrame&amp;quot;);&#xD;
getRootPane().updateUI();&lt;/pre&gt;&#xD;
&lt;p&gt;&#xD;
	The menu button is ued for the application logo - for this take a lookup for the button and set the logo as icon.&lt;/p&gt;&#xD;
&lt;pre class="brush:java"&gt;&#xD;
JButton b = (JButton)SyntheticaLookAndFeel.findComponent(&amp;quot;RootPane.titlePane.menuButton&amp;quot;, this);&#xD;
b.setIcon(new ImageIcon(this.getClass().getResource(&amp;quot;/resources/icons/menuButton.png&amp;quot;)));&lt;/pre&gt;&#xD;
&lt;p&gt;&#xD;
	The menu bar is set a usual - only the tool bar has to be set in a specific way.&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;pre class="brush:java"&gt;&#xD;
setJMenuBar(new AppMenuBar());    &#xD;
toolBar = new TunesToolBar();&#xD;
toolBar.setFloatable(false);&#xD;
((SyntheticaTitlePane)((SyntheticaRootPaneUI)getRootPane().getUI()).getTitlePane()).setUserComponent(toolBar);&#xD;
&lt;/pre&gt;&#xD;
&lt;p&gt;&#xD;
	That&amp;#39;s all, the new appearance is more unique and gives your app a cool, modern look. &lt;strong&gt;Note:&lt;/strong&gt; With the new style the application header needs a bit more horizontal space but less vertical space - this fits pretty well with current display ratios (16:9, 16:10).&lt;/p&gt;&#xD;
&lt;p&gt;&#xD;
	&lt;img alt="SyntheticaTunes screenshot tweaked" src="http://www.jyloo.com/images/blog/windowDecoration/titlePanel/syntheticaTunes_tweaked.png" style="width: 755px; height: 460px;" /&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: center;"&gt;&#xD;
	&lt;a href="http://www.jyloo.com/downloads/public/synthetica/syntheticaTunesAluOxide.jnlp"&gt;&lt;img alt="WebStart Demo" border="0" src="/images/webstart_small2.png" /&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&#xD;
	The complete application source code is available for SyntheticaAddons customers only and can be downloaded from the&lt;a href="http://www.jyloo.com/syntheticaaddons/download"&gt; SyntheticaAddons download page&lt;/a&gt;.&lt;/p&gt;&#xD;
&lt;p&gt;&#xD;
	Sometimes you have to keep the menu bar at it&amp;#39;s regular position i.e. to use the whole herizontal space. This can be simply achieved by setting the UI-property &amp;quot;Synthetica.rootPane.titlePane.showMenuBarInTitlePane&amp;quot; to false - see custom XML. The result is also appealing but of course needs some extra vertical space.&lt;/p&gt;&#xD;
&lt;p&gt;&#xD;
	&lt;img alt="SyntheticaTunes Screenshot regular menubar" src="http://www.jyloo.com/images/blog/windowDecoration/titlePanel/syntheticaTunes_secondaryMenuLayout_regularMenuBar.png" style="width: 753px; height: 461px;" /&gt;&lt;/p&gt;&#xD;
&lt;h3 style="margin-bottom: 10px;"&gt;&#xD;
	Related Posts&lt;/h3&gt;&#xD;
&lt;div style="margin-left: 40px;"&gt;&#xD;
	&lt;a href="http://www.jyloo.com/news?pubId=1268254738000"&gt;Window Decoration, Part 1 - Basics and Title Pane&lt;/a&gt;&lt;/div&gt;&#xD;
&lt;div style="margin-left: 40px;"&gt;&#xD;
	&lt;a href="http://www.jyloo.com/news?pubId=1268844895000"&gt;Window Decoration, Part 2 - Non-Rectangular Window Shapes&lt;/a&gt;&lt;/div&gt;&#xD;
&lt;div style="margin-left: 40px;"&gt;&#xD;
	&lt;a href="http://www.jyloo.com/news?pubId=1269364376000"&gt;Window Decoration, Part 3 - Custom Decoration for Dialogs&lt;/a&gt;&lt;/div&gt;&#xD;
&lt;div style="margin-left: 40px;"&gt;&#xD;
	&lt;a href="http://www.jyloo.com/news?pubId=1270049673000"&gt;Window Decoration, Part 4 - Logo Renderer and More&lt;/a&gt;&lt;/div&gt;&#xD;
&lt;div style="margin-left: 40px; margin-bottom: 10px;"&gt;&#xD;
	&lt;a href="http://www.jyloo.com/news?pubId=1275549952000"&gt;Window Decoration, Part 5 - TitlePane Variations&lt;/a&gt;&lt;/div&gt;</description>
      <pubDate>Wed, 02 May 2012 08:29:57 GMT</pubDate>
      <guid>http://www.jyloo.com/news?pubId=1335947397000</guid>
      <dc:date>2012-05-02T08:29:57Z</dc:date>
    </item>
    <item>
      <title>Synthetica V2.15 and SyntheticaAddons V1.7 is released!</title>
      <link>http://www.jyloo.com/news?pubId=1335782564000</link>
      <description>&lt;p&gt;&#xD;
	We are pleased to announce the release of &lt;a href="http://www.jyloo.com/synthetica/download"&gt;Synthetica V2.15.0&lt;/a&gt; and &lt;a href="http://www.jyloo.com/syntheticaaddons/download"&gt;SyntheticaAddons V1.7.0&lt;/a&gt;. Please find all major improvements below - a complete list of changes can be found at &lt;a href="http://www.jyloo.com/synthetica/changelog"&gt;Synthetica changelog&lt;/a&gt; and &lt;a href="http://www.jyloo.com/syntheticaaddons/changelog"&gt;SyntheticaAddons changelog&lt;/a&gt;.&lt;/p&gt;&#xD;
&lt;h3&gt;&#xD;
	New Synthetica Features&lt;/h3&gt;&#xD;
&lt;ul&gt;&#xD;
	&lt;li&gt;&#xD;
		New theme &lt;a href="http://www.jyloo.com/synthetica/themes/"&gt;SyntheticaAluOxide&lt;/a&gt;&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;p&gt;&#xD;
	&lt;img alt="Synthetica AluOxide Theme Screenshot" src="http://www.jyloo.com/images/screenshots/syntheticaAluOxide/democenter2.png" style="width: 655px; height: 452px;" /&gt;&lt;/p&gt;&#xD;
&lt;ul&gt;&#xD;
	&lt;li&gt;&#xD;
		New frame header layout to support a user component within the title panel&lt;/li&gt;&#xD;
	&lt;li&gt;&#xD;
		Java 7 support for Mac OSX&lt;/li&gt;&#xD;
	&lt;li&gt;&#xD;
		Corner painter support for ScrollPanes&lt;/li&gt;&#xD;
	&lt;li&gt;&#xD;
		Opened-state support for ComboBoxes&lt;/li&gt;&#xD;
	&lt;li&gt;&#xD;
		Hover style support for top level menus&lt;/li&gt;&#xD;
	&lt;li&gt;&#xD;
		New UI-property to horizontally flip JTabbedPane appearance in RTL mode&lt;/li&gt;&#xD;
	&lt;li&gt;&#xD;
		JButton, JToggleButton, JCheckBox, JRadioButton - new UI-properties to specify default icon text gap&lt;/li&gt;&#xD;
	&lt;li&gt;&#xD;
		JList, JTable - hover style support for rows&lt;/li&gt;&#xD;
	&lt;li&gt;&#xD;
		JPopupMenu - new UI-property to preserve icon space for icons&lt;/li&gt;&#xD;
	&lt;li&gt;&#xD;
		Improved default scrollPane border setting for JTable&lt;/li&gt;&#xD;
	&lt;li&gt;&#xD;
		Improved list cell renderer for JFileChooser to respect default renderer and F2 key binding to rename files&lt;/li&gt;&#xD;
	&lt;li&gt;&#xD;
		Improved focus state support&lt;/li&gt;&#xD;
	&lt;li&gt;&#xD;
		Improved opacity setting for components&lt;/li&gt;&#xD;
	&lt;li&gt;&#xD;
		Improved control to handle custom colored text components&lt;/li&gt;&#xD;
	&lt;li&gt;&#xD;
		Improved insets handling for TitledBorderPainter&lt;/li&gt;&#xD;
	&lt;li&gt;&#xD;
		Updated SyntheticaClassy theme (fine tuning)&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;h3&gt;&#xD;
	New SyntheticaAddons Features&lt;/h3&gt;&#xD;
&lt;ul&gt;&#xD;
	&lt;li&gt;&#xD;
		SyntheticaAluOxide theme support&lt;/li&gt;&#xD;
	&lt;li&gt;&#xD;
		JYTabbedPane - new UI-property to modify close button placement within a tab&lt;/li&gt;&#xD;
	&lt;li&gt;&#xD;
		New JYDocking features&#xD;
		&lt;ul&gt;&#xD;
			&lt;li&gt;&#xD;
				support to specify a custom docking strategy for floating windows&lt;/li&gt;&#xD;
			&lt;li&gt;&#xD;
				new UI-property to define the default splitpane divider size&lt;/li&gt;&#xD;
		&lt;/ul&gt;&#xD;
	&lt;/li&gt;&#xD;
	&lt;li&gt;&#xD;
		New JYSwitchButton features&#xD;
		&lt;ul&gt;&#xD;
			&lt;li&gt;&#xD;
				modified foreground color for disabled state (switch lables)&lt;/li&gt;&#xD;
			&lt;li&gt;&#xD;
				new UI-property to support dynamic switch between ON/OFF foreground color&lt;/li&gt;&#xD;
		&lt;/ul&gt;&#xD;
	&lt;/li&gt;&#xD;
	&lt;li&gt;&#xD;
		StatusBar - new UI-property to disable visibility of the resize handle&lt;/li&gt;&#xD;
	&lt;li&gt;&#xD;
		DateComboBox - new UI-properties to specify X/Y-offset for the date popup&lt;/li&gt;&#xD;
	&lt;li&gt;&#xD;
		Improved customizability of JYTaskPane and TitledPane&lt;/li&gt;&#xD;
	&lt;li&gt;&#xD;
		DropDownButton&#xD;
		&lt;ul&gt;&#xD;
			&lt;li&gt;&#xD;
				new UI-properties to specify custom arrow icon and arrow icon gap&lt;/li&gt;&#xD;
			&lt;li&gt;&#xD;
				improved RTL support&lt;/li&gt;&#xD;
		&lt;/ul&gt;&#xD;
	&lt;/li&gt;&#xD;
	&lt;li&gt;&#xD;
		Updated SwingX library to V1.6.3&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;div&gt;&#xD;
	&lt;strong&gt;Product Links&lt;br /&gt;&#xD;
	&lt;/strong&gt;&lt;/div&gt;&#xD;
&lt;div style="margin-left: 40px;"&gt;&#xD;
	&lt;a href="http://www.jyloo.com/synthetica"&gt;Synthetica Look And Feel&lt;/a&gt;&lt;/div&gt;&#xD;
&lt;div style="margin-left: 40px;"&gt;&#xD;
	&lt;a href="http://www.jyloo.com/synthetica/download"&gt;Synthetica Download&lt;/a&gt;&lt;/div&gt;&#xD;
&lt;div style="margin-left: 40px;"&gt;&#xD;
	&lt;a href="http://www.jyloo.com/syntheticaaddons"&gt;SyntheticaAddons&lt;/a&gt;&lt;/div&gt;&#xD;
&lt;div style="margin-left: 40px; margin-bottom: 20px;"&gt;&#xD;
	&lt;a href="http://www.jyloo.com/syntheticaaddons/download"&gt;SyntheticaAddons Download&lt;/a&gt;&lt;/div&gt;</description>
      <pubDate>Mon, 30 Apr 2012 10:42:44 GMT</pubDate>
      <guid>http://www.jyloo.com/news?pubId=1335782564000</guid>
      <dc:date>2012-04-30T10:42:44Z</dc:date>
    </item>
    <item>
      <title>Synthetica + NetBeans 7.1</title>
      <link>http://www.jyloo.com/news?pubId=1326965356000</link>
      <description>&lt;p&gt;&#xD;
	As of &lt;strong&gt;NetBeans 7.1&lt;/strong&gt; non-document windows in the same docking spot are organized into a tab group and are no longer stretched by default. To support this new feature &lt;a href="http://www.jyloo.com/syntheticaaddons"&gt;&lt;strong&gt;SyntheticaAddons V1.6.2&lt;/strong&gt;&lt;/a&gt; provides an updated NetBeans plugin. The new plugin is backwards compatible and works fine with NetBeans 6.9/7.0.&lt;/p&gt;&#xD;
&lt;p style="text-align: center;"&gt;&#xD;
	&lt;img alt="non-stretching view tabs" src="http://www.jyloo.com/images/blog/syntheticaNetBeans/nonStretchingViewTabs.png" style="width: 500px; height: 320px;" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&#xD;
	To enable the old appearance/behavior NetBeans supports the system property &lt;strong&gt;winsys.stretching_view_tabs&lt;/strong&gt;. By setting the system property to &lt;strong&gt;true&lt;/strong&gt; you can force NetBeans using the old streched tabs appearance.&lt;/p&gt;&#xD;
&lt;p style="text-align: center;"&gt;&#xD;
	&lt;img alt="stretching view tabs" src="http://www.jyloo.com/images/blog/syntheticaNetBeans/stretchingViewTabs.png" style="width: 500px; height: 320px;" /&gt;&lt;/p&gt;&#xD;
&lt;h3 style="margin-bottom: 10px;"&gt;&#xD;
	Related Links&lt;/h3&gt;&#xD;
&lt;div style="margin-left: 40px;"&gt;&#xD;
	&lt;a href="http://www.jyloo.com/news/?pubId=1308209905000"&gt;Synthetica + NetBeans RCP, Part I&lt;/a&gt;&lt;/div&gt;&#xD;
&lt;div style="margin-left: 40px;"&gt;&#xD;
	&lt;a href="http://www.jyloo.com/news/?pubId=1322244511000"&gt;Synthetica + NetBeans RCP, Part II&lt;/a&gt;&lt;/div&gt;&#xD;
&lt;div style="margin-left: 40px; margin-bottom: 10px;"&gt;&#xD;
	&lt;a href="http://wiki.netbeans.org/DevFaqCustomizeWindowSystem"&gt;NetBeans DevFaqCustomizeWindowSystem&lt;/a&gt;&lt;/div&gt;</description>
      <pubDate>Thu, 19 Jan 2012 09:29:16 GMT</pubDate>
      <guid>http://www.jyloo.com/news?pubId=1326965356000</guid>
      <dc:date>2012-01-19T09:29:16Z</dc:date>
    </item>
    <item>
      <title>Synthetica V2.14.2 and SyntheticaAddons V1.6.2 have been released!</title>
      <link>http://www.jyloo.com/news?pubId=1326832601000</link>
      <description>&lt;p&gt;&#xD;
	The maintenance releases &lt;a href="http://www.jyloo.com/synthetica/"&gt;Synthetica&lt;/a&gt; &lt;strong&gt;V2.14.2&lt;/strong&gt; and &lt;a href="http://www.jyloo.com/syntheticaaddons/"&gt;SyntheticaAddons&lt;/a&gt; &lt;strong&gt;V1.6.2&lt;/strong&gt; are available. The updates provide support for&lt;strong&gt; NetBeans 7.1&lt;/strong&gt; and some minor bug fixes. See also &lt;a href="http://www.jyloo.com/synthetica/changelog"&gt;Synthetica changelog&lt;/a&gt; and &lt;a href="http://www.jyloo.com/syntheticaaddons/changelog"&gt;SyntheticaAddons changelog&lt;/a&gt;.&lt;/p&gt;</description>
      <pubDate>Tue, 17 Jan 2012 20:36:41 GMT</pubDate>
      <guid>http://www.jyloo.com/news?pubId=1326832601000</guid>
      <dc:date>2012-01-17T20:36:41Z</dc:date>
    </item>
    <item>
      <title>Synthetica + NetBeans RCP, Part II</title>
      <link>http://www.jyloo.com/news?pubId=1322244511000</link>
      <description>&lt;p&gt;&#xD;
	This Article describes how to integrate Synthetica, Themes and SyntheticaAddons in your Netbeans Platform application (RCP). Instead of extending the classpath as described &lt;a href="http://www.jyloo.com/news/?pubId=1308209905000"&gt;here&lt;/a&gt;, let&amp;#39;s create two additional modules and add these modules to our NetBeans RCP application.&lt;/p&gt;&#xD;
&lt;p&gt;&#xD;
	The first module covers Swing core components only. For this we create a module called &lt;strong&gt;Synthetica&lt;/strong&gt; which provides Synthetica&amp;#39;s core library and all needed theme libraries. We additionally create a &lt;strong&gt;LAFInstall&lt;/strong&gt; class to install the look and feel on application startup. The &amp;quot;--laf&amp;quot; parameter, mentioned in the first article, is therefore no longer needed.&lt;/p&gt;&#xD;
&lt;h4&gt;&#xD;
	Create Module Synthetica&lt;/h4&gt;&#xD;
&lt;ul&gt;&#xD;
	&lt;li&gt;&#xD;
		Create a new module&#xD;
		&lt;ul&gt;&#xD;
			&lt;li&gt;&#xD;
				Name: &lt;strong&gt;Synthetica&lt;/strong&gt;&lt;/li&gt;&#xD;
			&lt;li&gt;&#xD;
				Code Name Base: &lt;strong&gt;myrcp.synthetica&lt;/strong&gt;&lt;/li&gt;&#xD;
			&lt;li&gt;&#xD;
				Finish&lt;/li&gt;&#xD;
		&lt;/ul&gt;&#xD;
	&lt;/li&gt;&#xD;
	&lt;li&gt;&#xD;
		Select Module Synthetica / Properties&#xD;
		&lt;ul&gt;&#xD;
			&lt;li&gt;&#xD;
				Select Libraries / Module Dependencies&lt;/li&gt;&#xD;
			&lt;li&gt;&#xD;
				Add Dependency:&lt;strong&gt; Module System API&lt;/strong&gt;, &lt;strong&gt;Utilities API&lt;/strong&gt;&lt;/li&gt;&#xD;
			&lt;li&gt;&#xD;
				Select &amp;#39;Wrapped JARs&amp;#39;&lt;/li&gt;&#xD;
			&lt;li&gt;&#xD;
				Add JAR: core library &lt;strong&gt;synthetica.jar&lt;/strong&gt; and your preferred theme e.g &lt;strong&gt;syntheticaSimple2D.jar&lt;/strong&gt;, Note: the Standard theme is already part of synthetica.jar&lt;/li&gt;&#xD;
			&lt;li&gt;&#xD;
				Select API Versioning, select modul type &lt;strong&gt;eager&lt;/strong&gt; and make &lt;strong&gt;myrcp.synthetica&lt;/strong&gt; and &lt;strong&gt;all listed packages public&lt;/strong&gt;&lt;/li&gt;&#xD;
		&lt;/ul&gt;&#xD;
	&lt;/li&gt;&#xD;
	&lt;li&gt;&#xD;
		Create class myrcp.synthetica.LAFInstall and override the method #restored()&#xD;
		&lt;pre class="brush: java"&gt;public class LAFInstall extends ModuleInstall &#xD;
{&#xD;
  @Override&#xD;
  public void restored() &#xD;
  {&#xD;
    try &#xD;
    {&#xD;
      UIManager.setLookAndFeel(&#xD;
        &amp;quot;de.javasoft.plaf.synthetica.SyntheticaSimple2DLookAndFeel&amp;quot;);&#xD;
    } &#xD;
    catch (Exception e) &#xD;
    {&#xD;
      Exceptions.printStackTrace(e);&#xD;
    }    &#xD;
  }  &#xD;
}&#xD;
&lt;/pre&gt;&#xD;
	&lt;/li&gt;&#xD;
	&lt;li&gt;&#xD;
		Edit Important files / Module Manifest&#xD;
		&lt;ul&gt;&#xD;
			&lt;li&gt;&#xD;
				add the line below to the manifest file&#xD;
				&lt;pre class="brush: xml"&gt;&#xD;
				OpenIDE-Module-Install: myrcp/synthetica/LAFInstall.class&#xD;
&lt;/pre&gt;&#xD;
			&lt;/li&gt;&#xD;
		&lt;/ul&gt;&#xD;
	&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;p&gt;&#xD;
	The second module is used to provide all SynteticaAddons libraries and covers UI-support for Netbeans components. In this example configuration we assume that SyntheticaSimple2D is used as preferred theme, which also means that the theme extension syntheticaSimple2DAddon.jar has to be added to your module.&lt;/p&gt;&#xD;
&lt;h4&gt;&#xD;
	Create Module SyntheticaAddons&lt;/h4&gt;&#xD;
&lt;ul&gt;&#xD;
	&lt;li&gt;&#xD;
		Create a new Module&#xD;
		&lt;ul&gt;&#xD;
			&lt;li&gt;&#xD;
				Name: &lt;strong&gt;SyntheticaAddons&lt;/strong&gt;&lt;/li&gt;&#xD;
			&lt;li&gt;&#xD;
				Code Name Base: &lt;strong&gt;myrcp.syntheticaaddons&lt;/strong&gt;&lt;/li&gt;&#xD;
			&lt;li&gt;&#xD;
				Finish&lt;/li&gt;&#xD;
		&lt;/ul&gt;&#xD;
	&lt;/li&gt;&#xD;
	&lt;li&gt;&#xD;
		Select Module SyntheticaAddons / Properties&#xD;
		&lt;ul&gt;&#xD;
			&lt;li&gt;&#xD;
				Select Libraries / Module Dependencies&lt;/li&gt;&#xD;
			&lt;li&gt;&#xD;
				Add Dependency:&lt;strong&gt; Look &amp;amp; Feel Customization Library&lt;/strong&gt;,&amp;nbsp;&lt;strong&gt;Nodes API&lt;/strong&gt;, &lt;strong&gt;Synthetica&lt;/strong&gt;, &lt;strong&gt;Tab Control&lt;/strong&gt;, &lt;strong&gt;UI Utilities API&lt;/strong&gt;, &lt;strong&gt;Window System API&lt;/strong&gt;&lt;/li&gt;&#xD;
			&lt;li&gt;&#xD;
				Select &amp;#39;Wrapped JARs&amp;#39;&lt;/li&gt;&#xD;
			&lt;li&gt;&#xD;
				Add JAR: &lt;strong&gt;de-javasoft-synthetica-netbeans.jar&lt;/strong&gt;, &lt;strong&gt;syntheticaAddons.jar&lt;/strong&gt;, &lt;strong&gt;syntheticaSimple2DAddon.jar&lt;/strong&gt;, &lt;strong&gt;jywidgets.jar, swingx-1.6.2.jar&lt;/strong&gt;&lt;/li&gt;&#xD;
			&lt;li&gt;&#xD;
				Selet API Versioning, select modul type &lt;strong&gt;eager&lt;/strong&gt; and make &lt;strong&gt;all packages public&lt;/strong&gt;&lt;/li&gt;&#xD;
		&lt;/ul&gt;&#xD;
	&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;p&gt;&#xD;
	&lt;strong&gt;Update&lt;/strong&gt;: In case you have to use SwingX or SyntheticaAddons components it&amp;#39;s better to use one single module to avoid classloader issues. So simply add the settings described for the SyntheticaAddons module to your Synthetica module and remove all dependencies to the SyntheticaAddons module from your RCP project.&lt;/p&gt;&#xD;
&lt;h4&gt;&#xD;
	Modify your Main/Core Module&lt;/h4&gt;&#xD;
&lt;ul&gt;&#xD;
	&lt;li&gt;&#xD;
		Select your Main/Core Module / Properties&#xD;
		&lt;ul&gt;&#xD;
			&lt;li&gt;&#xD;
				Select Libraries / Module Dependencies&lt;/li&gt;&#xD;
			&lt;li&gt;&#xD;
				Add Dependency: &lt;strong&gt;Synthetica&lt;/strong&gt;, &lt;strong&gt;SyntheticaNetbeans&lt;/strong&gt;&lt;/li&gt;&#xD;
		&lt;/ul&gt;&#xD;
	&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;h4&gt;&#xD;
	Modify your Netbeans Platform Application&lt;/h4&gt;&#xD;
&lt;ul&gt;&#xD;
	&lt;li&gt;&#xD;
		Select Important Files / Project Properties&#xD;
		&lt;ul&gt;&#xD;
			&lt;li&gt;&#xD;
				add &lt;strong&gt;app.conf=myrcp.conf&lt;/strong&gt;&lt;/li&gt;&#xD;
		&lt;/ul&gt;&#xD;
	&lt;/li&gt;&#xD;
	&lt;li&gt;&#xD;
		create new file myrcp.conf to provide basic configuration&#xD;
		&lt;pre class="brush: xml"&gt;# ${HOME} will be replaced by user home directory according to platform&#xD;
default_userdir=&amp;quot;${HOME}/.${APPNAME}/dev&amp;quot;&#xD;
default_mac_userdir=&amp;quot;${HOME}/Library/Application Support/${APPNAME}/dev&amp;quot;&#xD;
&#xD;
# options used by the launcher by default, can be overridden by explicit&#xD;
# command line switches&#xD;
default_options=&amp;quot;--branding testrcp -J-Dnb.forceui=de.javasoft.synthetica.netbeans.SyntheticaLFCustoms -J-Xms24m -J-Xmx64m&amp;quot;&#xD;
# for development purposes you may wish to append: -J-Dnetbeans.logger.console=true -J-ea&#xD;
&lt;/pre&gt;&#xD;
	&lt;/li&gt;&#xD;
	&lt;li&gt;&#xD;
		make sure that &lt;strong&gt;-J-Dnb.forceui=de.javasoft.synthetica.netbeans.SyntheticaLFCustoms&lt;/strong&gt; has been added to the default options of the config file&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;h3 style="margin-bottom: 10px;"&gt;&#xD;
	Related Links&lt;/h3&gt;&#xD;
&lt;div style="margin-left: 40px; margin-bottom: 10px;"&gt;&#xD;
	&lt;a href="http://www.jyloo.com/news/?pubId=1308209905000"&gt;Synthetica + NetBeans RCP, Part I&lt;/a&gt;&lt;/div&gt;</description>
      <pubDate>Fri, 25 Nov 2011 18:08:31 GMT</pubDate>
      <guid>http://www.jyloo.com/news?pubId=1322244511000</guid>
      <dc:date>2011-11-25T18:08:31Z</dc:date>
    </item>
    <item>
      <title>Synthetica maintenance release V2.14.1 is available</title>
      <link>http://www.jyloo.com/news?pubId=1322221917000</link>
      <description>&lt;p&gt;&#xD;
	&lt;a href="http://www.jyloo.com/synthetica/"&gt;Synthetica&lt;/a&gt; &lt;strong&gt;V2.14.1&lt;/strong&gt; is available - see &lt;a href="http://www.jyloo.com/synthetica/changelog"&gt;changelog&lt;/a&gt; for more details.&lt;/p&gt;</description>
      <pubDate>Fri, 25 Nov 2011 11:51:57 GMT</pubDate>
      <guid>http://www.jyloo.com/news?pubId=1322221917000</guid>
      <dc:date>2011-11-25T11:51:57Z</dc:date>
    </item>
    <item>
      <title>SyntheticaAddons maintenance release V1.6.1 is available</title>
      <link>http://www.jyloo.com/news?pubId=1321529278000</link>
      <description>&lt;p&gt;&#xD;
	&lt;a href="http://www.jyloo.com/syntheticaaddons/"&gt;SyntheticaAddons&lt;/a&gt; &lt;strong&gt;V1.6.1&lt;/strong&gt; is available - see &lt;a href="http://www.jyloo.com/syntheticaaddons/changelog"&gt;changelog&lt;/a&gt; for more details.&lt;/p&gt;</description>
      <pubDate>Thu, 17 Nov 2011 11:27:58 GMT</pubDate>
      <guid>http://www.jyloo.com/news?pubId=1321529278000</guid>
      <dc:date>2011-11-17T11:27:58Z</dc:date>
    </item>
    <item>
      <title>JYTabbedPane Features in SyntheticaAddons V1.6</title>
      <link>http://www.jyloo.com/news?pubId=1320918851000</link>
      <description>&lt;p&gt;&#xD;
	&lt;strong&gt;&lt;a href="http://www.jyloo.com/syntheticaAddons"&gt;SyntheticaAddons V1.6.0&lt;/a&gt;&lt;/strong&gt; provides some new JYTabbedPane features. So let&amp;#39;s take a look at these new features and find out how to use them in your application.&lt;/p&gt;&#xD;
&lt;h3&gt;&#xD;
	PlusButton support to add new tabs&lt;/h3&gt;&#xD;
&lt;p&gt;&#xD;
	&lt;img alt="JYTabbedPane PlusButton" src="http://www.jyloo.com/images/blog/tabbedPane/plusButton.png" style="width: 290px; height: 50px;" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&#xD;
	The PlusButton isn&amp;#39;t shown by default and has to be enabled by calling JYTabbedPane#setShowPlusButton(true). To let you control how the new Tabs will be created you additionaly have to provide an &amp;quot;addTab&amp;quot; action and put the action into the action map just like in the example below.&lt;/p&gt;&#xD;
&lt;pre class="brush: java"&gt;&#xD;
final JYTabbedPane tabbedPane = new JYTabbedPane();&#xD;
tabbedPane.getActionMap().put(&amp;quot;addTab&amp;quot;, new AbstractAction(){&#xD;
  public void actionPerformed(ActionEvent evt)&#xD;
  {&#xD;
    //add tab and content&#xD;
    tabbedPane.addTab(&amp;quot;New Tab&amp;quot;, createTabbedPaneContent());    &#xD;
    //move tab after selected tab and select the new tab&#xD;
    if (tabPane.getTabCount() &amp;gt; 1)&#xD;
    {  &#xD;
      int index = tabPane.getSelectedIndex() + 1;&#xD;
      tabbedPane.moveTab(tabPane.getTabCount() - 1, index);&#xD;
      tabbedPane.setSelectedIndex(index);&#xD;
    }  &#xD;
  }&#xD;
});&#xD;
tabbedPane.setShowPlusButton(true);&#xD;
&lt;/pre&gt;&#xD;
&lt;h3 class="topSpace"&gt;&#xD;
	Editable tabs&lt;/h3&gt;&#xD;
&lt;p&gt;&#xD;
	&lt;img alt="JYTabbedPane PlusButton" src="http://www.jyloo.com/images/blog/tabbedPane/editableTabs.png" style="width: 290px; height: 50px;" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&#xD;
	Tabs are non-editable by default. However, JYTabbedPane#setTabsEditable(true) is the related method to make tabs editable on double-click. If you are interested in tab text changes, add a PropertyChangeListener to the tabbed pane and filter events for the property name &amp;quot;title&amp;quot;.&lt;/p&gt;&#xD;
&lt;h3&gt;&#xD;
	Custom Close Button Strategy&lt;/h3&gt;&#xD;
&lt;p&gt;&#xD;
	&lt;img alt="JYTabbedPane CustomCloseButtonStrategy" src="http://www.jyloo.com/images/blog/tabbedPane/customCloseButtonStrategy.png" style="width: 400px; height: 120px;" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&#xD;
	Sometimes it&amp;#39;s necessary to use a custom strategy e.g. to make one or more tabs non-closable. By setting the custom ICloseButtonStrategy below there&amp;#39;s no way for the user to close the first tab.&lt;/p&gt;&#xD;
&lt;pre class="brush: java"&gt;&#xD;
JYTabbedPane tabbedPane = new JYTabbedPane();&#xD;
tabbedPane.setCloseButtonStrategy(new ICloseButtonStrategy()&#xD;
{      &#xD;
  public boolean isButtonVisible(JYTabbedPane tabbedPane, Tab tab)&#xD;
  {&#xD;
    return tab.getTabIndex()) &amp;gt; 0;&#xD;
  }&#xD;
});&#xD;
&lt;/pre&gt;&#xD;
&lt;h3 class="topSpace"&gt;&#xD;
	Tab History Support&lt;/h3&gt;&#xD;
&lt;p&gt;&#xD;
	The default behavior on tab close is to automatically select the next available tab in the tab row. By enabling tab history JYTabbedPane is able to remember the tab which was selected before the currently selected tab and restores the tab on tab close. This feature improves usability for closable tabs.&lt;/p&gt;&#xD;
&lt;p&gt;&#xD;
	&lt;img alt="JYTabbedPane TabHistory" src="http://www.jyloo.com/images/blog/tabbedPane/tabHistory.png" style="height: 353px; width: 540px;" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&#xD;
	The example below demonstrates how to enable tab history.&lt;/p&gt;&#xD;
&lt;pre class="brush: java"&gt;&#xD;
JYTabbedPane tabbedPane = new JYTabbedPane();&#xD;
tabbedPane.setTabHistoryEnabled(true);&#xD;
tabbedPane.setCloseButtonStrategy(CloseButtonStrategy.ALL_TABS);&#xD;
&lt;/pre&gt;&#xD;
&lt;p&gt;&#xD;
	&amp;nbsp;&lt;/p&gt;&#xD;
&lt;h3 style="margin-bottom: 10px;"&gt;&#xD;
	Related Posts&lt;/h3&gt;&#xD;
&lt;div style="margin-left: 40px;"&gt;&#xD;
	&lt;a href="http://www.jyloo.com/news/?pubId=1312880398000"&gt;How to customize a JYTabbedPane component&lt;/a&gt;&lt;/div&gt;&#xD;
&lt;div style="margin-left: 40px;"&gt;&#xD;
	&lt;a href="http://www.jyloo.com/news/?pubId=1305103127000"&gt;How To Set A Custom Close Tab Action&lt;/a&gt;&lt;/div&gt;&#xD;
&lt;div style="margin-left: 40px; margin-bottom: 10px;"&gt;&#xD;
	&lt;a href="http://www.javalobby.org/java/forums/t94860.html"&gt;Customization - How to apply a Firefox style to a JTabbedPane&lt;/a&gt;&lt;/div&gt;</description>
      <pubDate>Thu, 10 Nov 2011 09:54:11 GMT</pubDate>
      <guid>http://www.jyloo.com/news?pubId=1320918851000</guid>
      <dc:date>2011-11-10T09:54:11Z</dc:date>
    </item>
    <item>
      <title>Synthetica V2.14 and SyntheticaAddons V1.6 is released!</title>
      <link>http://www.jyloo.com/news?pubId=1320762205000</link>
      <description>&lt;p&gt;&#xD;
	We are pleased to announce the release of &lt;a href="http://www.jyloo.com/synthetica/download"&gt;Synthetica V2.14.0&lt;/a&gt; and &lt;a href="http://www.jyloo.com/syntheticaaddons/download"&gt;SyntheticaAddons V1.6.0&lt;/a&gt;. Please find all major improvements below - a complete list of changes can be found at &lt;a href="http://www.jyloo.com/synthetica/changelog"&gt;Synthetica changelog&lt;/a&gt; and &lt;a href="http://www.jyloo.com/syntheticaaddons/changelog"&gt;SyntheticaAddons changelog&lt;/a&gt;.&lt;/p&gt;&#xD;
&lt;h3&gt;&#xD;
	New Synthetica Features&lt;/h3&gt;&#xD;
&lt;ul&gt;&#xD;
	&lt;li&gt;&#xD;
		Style name support by client property &lt;strong&gt;Synthetica.style&lt;/strong&gt; (Java6u10 or above required)&#xD;
		&lt;ul&gt;&#xD;
			&lt;li&gt;&#xD;
				Until now a custom style has to be bound by the component name (JComponent#setName(String)). The base functionality is inherited from Synth. Because some apps already use the component name for other things there&amp;#39;s a need to bind a style to a component by another mechanism - the client property&amp;nbsp; &amp;quot;Synthetica.style&amp;quot; fulfills this requirement.&lt;/li&gt;&#xD;
			&lt;li&gt;&#xD;
				While style binding by name is still supported, binding by client property &lt;strong&gt;Synthetica.style&lt;/strong&gt; has priority.&lt;/li&gt;&#xD;
			&lt;li&gt;&#xD;
				Because JFrame/JDialog doesn&amp;#39;t support a #putClientProperty() method, you have to use the related RootPane instead.&lt;/li&gt;&#xD;
		&lt;/ul&gt;&#xD;
	&lt;/li&gt;&#xD;
	&lt;li&gt;&#xD;
		Custom window shape support.&#xD;
		&lt;ul&gt;&#xD;
			&lt;li&gt;&#xD;
				Non-rectangular (rounded rectangale) window shapes are already supported. However, in case that you want to use a different window shape, you have to create and provide your own shape class which implements the &lt;strong&gt;SyntheticaWindowShape&lt;/strong&gt; interface.&lt;/li&gt;&#xD;
		&lt;/ul&gt;&#xD;
	&lt;/li&gt;&#xD;
	&lt;li&gt;&#xD;
		Improved customization for title panes.&lt;/li&gt;&#xD;
	&lt;li&gt;&#xD;
		Improved large icon support for menu items.&lt;/li&gt;&#xD;
	&lt;li&gt;&#xD;
		New UI-property to enable/disable style name support.&lt;/li&gt;&#xD;
	&lt;li&gt;&#xD;
		Added UI-property &amp;#39;ToolTip.background&amp;#39; support.&lt;/li&gt;&#xD;
	&lt;li&gt;&#xD;
		Window close item in system menu will be disabled when close button becomes disabled or invisible.&lt;/li&gt;&#xD;
	&lt;li&gt;&#xD;
		Updated themes.&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;h3&gt;&#xD;
	New SyntheticaAddons Features&lt;/h3&gt;&#xD;
&lt;ul&gt;&#xD;
	&lt;li&gt;&#xD;
		New JYTabbedPane features&#xD;
		&lt;ul&gt;&#xD;
			&lt;li&gt;&#xD;
				build in plus button support to allow users to add new tabs&lt;/li&gt;&#xD;
			&lt;li&gt;&#xD;
				support for editable tab titles&lt;/li&gt;&#xD;
			&lt;li&gt;&#xD;
				custom close button strategy support&lt;/li&gt;&#xD;
			&lt;li&gt;&#xD;
				tab history support to restore last selected tab on tab close&lt;/li&gt;&#xD;
			&lt;li&gt;&#xD;
				custom font and color support for HTML based tab titles&lt;/li&gt;&#xD;
		&lt;/ul&gt;&#xD;
	&lt;/li&gt;&#xD;
	&lt;li&gt;&#xD;
		New JYTable features&#xD;
		&lt;ul&gt;&#xD;
			&lt;li&gt;&#xD;
				support to specify initial column filter and value&lt;/li&gt;&#xD;
			&lt;li&gt;&#xD;
				improved filter model binding&lt;/li&gt;&#xD;
		&lt;/ul&gt;&#xD;
	&lt;/li&gt;&#xD;
	&lt;li&gt;&#xD;
		New JYDocking features&#xD;
		&lt;ul&gt;&#xD;
			&lt;li&gt;&#xD;
				tab reorder support&lt;/li&gt;&#xD;
			&lt;li&gt;&#xD;
				DockableFactory support to allow dynamic, persisted dockables being restored&lt;/li&gt;&#xD;
			&lt;li&gt;&#xD;
				support for persistent active and selected dockable states&lt;/li&gt;&#xD;
			&lt;li&gt;&#xD;
				new UI-property to respect the minimum size of Dockables (JYDockingView) when resizing a region - &lt;strong&gt;JYDocking.respectMinimumDockableSize&lt;/strong&gt; (false by default).&lt;/li&gt;&#xD;
		&lt;/ul&gt;&#xD;
	&lt;/li&gt;&#xD;
	&lt;li&gt;&#xD;
		New Component JYTaskPane - improved customizability compared to JXTaskPane.&lt;/li&gt;&#xD;
	&lt;li&gt;&#xD;
		JYLabel - support for being editable on double click.&lt;/li&gt;&#xD;
	&lt;li&gt;&#xD;
		Updated DemoCenter application - new examples.&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;div&gt;&#xD;
	&lt;strong&gt;Product Links&lt;br /&gt;&#xD;
	&lt;/strong&gt;&lt;/div&gt;&#xD;
&lt;div style="margin-left: 40px;"&gt;&#xD;
	&lt;a href="http://www.jyloo.com/synthetica"&gt;Synthetica Look And Feel&lt;/a&gt;&lt;/div&gt;&#xD;
&lt;div style="margin-left: 40px;"&gt;&#xD;
	&lt;a href="http://www.jyloo.com/synthetica/download"&gt;Synthetica Download&lt;/a&gt;&lt;/div&gt;&#xD;
&lt;div style="margin-left: 40px;"&gt;&#xD;
	&lt;a href="http://www.jyloo.com/syntheticaaddons"&gt;SyntheticaAddons&lt;/a&gt;&lt;/div&gt;&#xD;
&lt;div style="margin-left: 40px; margin-bottom: 20px;"&gt;&#xD;
	&lt;a href="http://www.jyloo.com/syntheticaaddons/download"&gt;SyntheticaAddons Download&lt;/a&gt;&lt;/div&gt;</description>
      <pubDate>Tue, 08 Nov 2011 14:23:25 GMT</pubDate>
      <guid>http://www.jyloo.com/news?pubId=1320762205000</guid>
      <dc:date>2011-11-08T14:23:25Z</dc:date>
    </item>
    <item>
      <title>Swing QuickTip: Redispatching Mouse Events</title>
      <link>http://www.jyloo.com/news?pubId=1315817317000</link>
      <description>&lt;p&gt;&#xD;
	When creating a compound Swing component mouse events for embedded components will be consumed by the related component and do not reach the parent control. Alex from Sun/Oracle recently &lt;a href="http://weblogs.java.net/blog/alexfromsun/archive/2011/07/08/swing-better-world-compound-components-0"&gt;blogged about this behavior in his series &amp;#39;Swing in a better world&amp;#39;&lt;/a&gt;.&lt;/p&gt;&#xD;
&lt;p&gt;&#xD;
	Sometimes this is not the intended behavior, but Swing allows us to easily implement what we really need. As already described by Alex, one approach is to add the mouse listener to each subcomponent. Another, more transparent approach is to add another MouseListener to the subcomponent and to redispatch all events to the related parent. This is very helpful if you want to make sure that your custom component can be easily used by other developers and if you want to prevent subcomponents from being directly accessed. No public API is required - mouse handling is transparent.&lt;/p&gt;&#xD;
&lt;pre class="brush: java"&gt;&#xD;
JComponent subComponent = new JButton(&amp;quot;JButton&amp;quot;);    &#xD;
MouseAdapter redispatcher = new MouseAdapter()&#xD;
{&#xD;
  @Override&#xD;
  public void mouseEntered(MouseEvent evt)&#xD;
  {&#xD;
    dispatchMouseEvent(evt);&#xD;
  }      &#xD;
  @Override&#xD;
  public void mouseExited(MouseEvent evt)&#xD;
  {&#xD;
    dispatchMouseEvent(evt);&#xD;
  }&#xD;
  @Override&#xD;
  public void mouseMoved(MouseEvent evt)&#xD;
  {&#xD;
    dispatchMouseEvent(evt);&#xD;
  }&#xD;
  @Override&#xD;
  public void mousePressed(MouseEvent evt)&#xD;
  {&#xD;
    dispatchMouseEvent(evt);&#xD;
  }&#xD;
  private void dispatchMouseEvent(MouseEvent evt)&#xD;
  {&#xD;
    Container parent = evt.getComponent().getParent();&#xD;
    parent.dispatchEvent(SwingUtilities.convertMouseEvent(evt.getComponent(), evt, parent));&#xD;
  }            &#xD;
};&#xD;
subComponent.addMouseListener(redispatcher);&#xD;
subComponent.addMouseMotionListener(redispatcher);&#xD;
&lt;/pre&gt;&#xD;
&lt;p&gt;&#xD;
	&lt;b&gt;Note:&lt;/b&gt; Redispatching only a few events by implementing related listener methods gives you fine granulated control on how the compound component will interact with the user.&lt;/p&gt;&#xD;
&lt;h3 style="margin-bottom: 10px;"&gt;&#xD;
	Related Links&lt;/h3&gt;&#xD;
&lt;div style="margin-left: 40px;"&gt;&#xD;
	&lt;a href="http://www.jyloo.com/news/?pubId=1294865624000"&gt;Swing QuickTip: Default Button&lt;/a&gt;&lt;/div&gt;&#xD;
&lt;div style="margin-left: 40px; margin-bottom: 10px;"&gt;&#xD;
	&lt;a href="http://www.jyloo.com/news/?pubId=1307039502000"&gt;Swing QuickTip: The Totally GridBag Fix&lt;/a&gt;&lt;/div&gt;</description>
      <pubDate>Mon, 12 Sep 2011 08:48:37 GMT</pubDate>
      <guid>http://www.jyloo.com/news?pubId=1315817317000</guid>
      <dc:date>2011-09-12T08:48:37Z</dc:date>
    </item>
  </channel>
</rss>


