<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Lawrencepremkumar&#039;s Blog</title>
	<atom:link href="http://lawrencepremkumar.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://lawrencepremkumar.wordpress.com</link>
	<description>Just another WordPress.com weblog</description>
	<lastBuildDate>Sun, 23 Oct 2011 10:24:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='lawrencepremkumar.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Lawrencepremkumar&#039;s Blog</title>
		<link>http://lawrencepremkumar.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://lawrencepremkumar.wordpress.com/osd.xml" title="Lawrencepremkumar&#039;s Blog" />
	<atom:link rel='hub' href='http://lawrencepremkumar.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Simple PopupMenuItem implementation</title>
		<link>http://lawrencepremkumar.wordpress.com/2011/10/23/simple-popupmenuitem-implementation/</link>
		<comments>http://lawrencepremkumar.wordpress.com/2011/10/23/simple-popupmenuitem-implementation/#comments</comments>
		<pubDate>Sun, 23 Oct 2011 10:24:53 +0000</pubDate>
		<dc:creator>lawrencepremkumar</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://lawrencepremkumar.wordpress.com/?p=143</guid>
		<description><![CDATA[Few months before, just tried my own implementation of popup, where i used windows. Now i have used Popup Control. And also i have showed how to implement a simple popup menuitem &#38; how to show the popup. May be useful for some one else. File Name : TestPopupMenu.java File Name : PopupMenuItem.java<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=lawrencepremkumar.wordpress.com&amp;blog=8013849&amp;post=143&amp;subd=lawrencepremkumar&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Few months before, just tried my own implementation of popup, where i used windows. Now i have used Popup Control. And also</p>
<p>i have showed how to implement a simple popup menuitem &amp; how to show the popup. May be useful for some one else.</p>
<p>File Name : TestPopupMenu.java</p>
<p><pre class="brush: java;">
import javafx.application.Application;
import javafx.event.EventHandler;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.VBox;
import javafx.scene.paint.Color;
import javafx.scene.shape.Rectangle;
import javafx.scene.text.Font;
import javafx.scene.text.Text;
import javafx.stage.Popup;
import javafx.stage.Stage;

/**
 *
 * @author lawrence premkumar
 */
public class TestPopupMenu extends Application {

    @Override
    public void start(Stage stage) throws Exception {

        Group root = new Group();
        Scene scene = new Scene(root, 800, 600, Color.AQUA);
        final VBox layout = new VBox();
        layout.getChildren().addAll(new PopupMenuItem(&quot;Lawrence&quot;).getPopupMenuItem(), new PopupMenuItem(&quot;PremKumar&quot;).getPopupMenuItem());
        Text t = new Text(&quot;Right click on the Rectangle to \n Invoke the Popup.&quot;);
        t.setFont(new Font(25));
        t.setLayoutX(20.0);
        t.setLayoutY(20.0);
        final Rectangle r = new Rectangle(200, 200);
        r.setLayoutX(100.0);
        r.setLayoutY(70.0);
        r.setFill(Color.ORANGE);
        r.setOnMouseClicked(new EventHandler&lt;MouseEvent&gt;() {

            @Override
            public void handle(MouseEvent e) {

                if (e.getButton() == javafx.scene.input.MouseButton.SECONDARY) {
                    Popup popup = new Popup();
                    popup.getContent().add(layout);
                    popup.show(r, e.getScreenX(), e.getScreenY());
                }
            }
        });
        root.getChildren().addAll(t,r);
        stage.setScene(scene);
        stage.show();
    }

    public static void main(String args[]) {
        Application.launch(TestPopupMenu.class, args);
    }
}
</pre></p>
<p>File Name : <span class="Apple-style-span" style="font-family:Consolas, Monaco, monospace;font-size:12px;line-height:18px;white-space:pre;">PopupMenuItem</span>.java</p>
<p><pre class="brush: java;">
import javafx.event.EventHandler;
import javafx.scene.Group;
import javafx.scene.control.Label;
import javafx.scene.image.ImageView;
import javafx.scene.input.MouseEvent;
import javafx.scene.paint.Color;
import javafx.scene.shape.Rectangle;

/**
 *
 * @author lawrence premkumar
 */
public class PopupMenuItem  {

    Label lbl;
    Rectangle menuItemBGRectangle;

    PopupMenuItem(String name, ImageView imgView) {
        this.lbl = new Label(name , imgView);
    }

    PopupMenuItem(String name) {
        lbl = new Label(name);
    }

    public Group getPopupMenuItem(){
        Group grp = new Group();

        lbl.setLayoutX(10.0);
        menuItemBGRectangle = new Rectangle();
        menuItemBGRectangle.setWidth(200.0);
        menuItemBGRectangle.setHeight(20.0);
        menuItemBGRectangle.setFill(Color.web(&quot;#f6f6f6&quot;));
        menuItemBGRectangle.setOnMouseEntered(new EventHandler&lt;MouseEvent&gt;() {

            @Override
            public void handle(MouseEvent e) {
                menuItemBGRectangle.setFill(Color.BLUE);
                lbl.setTextFill(Color.WHITE);
            }
        });

        menuItemBGRectangle.setOnMouseExited(new EventHandler&lt;MouseEvent&gt;() {

            @Override
            public void handle(MouseEvent e) {
                menuItemBGRectangle.setFill(Color.web(&quot;#f6f6f6&quot;));
                lbl.setTextFill(Color.BLACK);
            }
        });

        grp.getChildren().addAll(menuItemBGRectangle, lbl);
        return grp;
    }
</pre></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/lawrencepremkumar.wordpress.com/143/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/lawrencepremkumar.wordpress.com/143/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/lawrencepremkumar.wordpress.com/143/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/lawrencepremkumar.wordpress.com/143/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/lawrencepremkumar.wordpress.com/143/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/lawrencepremkumar.wordpress.com/143/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/lawrencepremkumar.wordpress.com/143/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/lawrencepremkumar.wordpress.com/143/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/lawrencepremkumar.wordpress.com/143/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/lawrencepremkumar.wordpress.com/143/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/lawrencepremkumar.wordpress.com/143/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/lawrencepremkumar.wordpress.com/143/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/lawrencepremkumar.wordpress.com/143/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/lawrencepremkumar.wordpress.com/143/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=lawrencepremkumar.wordpress.com&amp;blog=8013849&amp;post=143&amp;subd=lawrencepremkumar&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://lawrencepremkumar.wordpress.com/2011/10/23/simple-popupmenuitem-implementation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fb62745e86ad312dd1fa5bb5a101653b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">lawrencepremkumar</media:title>
		</media:content>
	</item>
		<item>
		<title>Visual Stack in JavaFX</title>
		<link>http://lawrencepremkumar.wordpress.com/2011/08/07/visual-stack-in-javafx/</link>
		<comments>http://lawrencepremkumar.wordpress.com/2011/08/07/visual-stack-in-javafx/#comments</comments>
		<pubDate>Sun, 07 Aug 2011 07:28:36 +0000</pubDate>
		<dc:creator>lawrencepremkumar</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[javafx]]></category>

		<guid isPermaLink="false">http://lawrencepremkumar.wordpress.com/?p=119</guid>
		<description><![CDATA[We all know that Stack is an abstract data type and data structure in any programming language.  Stack works as Last in First out (LIFO).  This blog is to show the functionality of the stack visually, how to show multiple stage and how to insert the node into the layout by specifying the index, get [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=lawrencepremkumar.wordpress.com&amp;blog=8013849&amp;post=119&amp;subd=lawrencepremkumar&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>We all know that Stack is an abstract data type and data structure in any programming language.  Stack works as Last in First out (LIFO).  This blog is to show the functionality of the stack visually, how to show multiple stage and how to insert the node into the layout by specifying the index, get the size of the layout ( number of elements in the layout) and finally delete the node from the layout.</p>
<p>I have used VBox layout for showing the element vertically.</p>
<p>File Name : StackElement.java</p>
<p><pre class="brush: java;">

import javafx.scene.Group;
import javafx.scene.control.Label;
import javafx.scene.shape.Rectangle;
import javafx.scene.text.Text;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;

/**
 *
 * @author Lawrence PremKumar
 */
public class StackElement {

    public String value;
    private Label txt;

    StackElement() {
    }

    StackElement(String val) {
        txt = new Label(val);
        txt.setFont(new Font(15));
        txt.setLayoutX(10.0);
    }

    public Group getElement() {
        Group grp = new Group();
        Rectangle rect = new Rectangle(150, 30);
        rect.setFill(Color.RED);
        grp.getChildren().addAll(rect, txt);
        return grp;
    }
}

 </pre></p>
<p>File Name : StackUI.java</p>
<p><pre class="brush: java;">
import javafx.animation.FadeTransition;
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextBox;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
import javafx.util.Duration;

/**
*
* @author Lawrence PremKumar
*/
public class StackUI extends Application {

     VBox layout = new VBox();

     public static void main(String args[]) {
         Application.launch(args);
     }

     @Override
     public void start(Stage stage) throws Exception {
          Group root = new Group();
          Scene scene = new Scene(root, 200, 400);
          stage.setScene(scene);
          stage.setTitle(&quot;Visual Stack UI&quot;);
          layout.setSpacing(2.0);
          root.getChildren().addAll(layout);
          stackControl();
          stage.setVisible(true);
    }

     public void stackControl() {
         Stage stg = new Stage();
         stg.setX(10.0);
         stg.setY(10.0);
         Group root = new Group();
         Scene scene = new Scene(root, 400, 50);
         stg.setScene(scene);

         Label lbl1 = new Label(&quot;Enter the data : &quot;);
         final TextBox tb = new TextBox(30);
         Button pushBtn = new Button(&quot;Push&quot;);

         pushBtn.setOnAction(new EventHandler&lt;ActionEvent&gt;() {
              @Override
              public void handle(ActionEvent e) {
                   StackElement stkElement = new StackElement(tb.getText());
                   Group grp = stkElement.getElement();
                   layout.getChildren().add(0, grp);
                   FadeTransition ft = new FadeTransition(Duration.valueOf(1000), grp);
                   ft.setFromValue(0.1);
                   ft.setToValue(1.0);
                   ft.play();
                   tb.setText(&quot;&quot;);
             }
         });
         Button popBtn = new Button(&quot;Pop&quot;);
         popBtn.setOnAction(new EventHandler&lt;ActionEvent&gt;() {

              @Override
              public void handle(ActionEvent e) {
                   if(!layout.getChildren().isEmpty()) {
                      layout.getChildren().remove(0);
                  }
             }
         });

         HBox layout1 = new HBox();
         layout1.setSpacing(5.0);
         layout1.setLayoutX(10.0);
         layout1.getChildren().addAll(lbl1, tb, pushBtn, popBtn);
         root.getChildren().add(layout1);
        stg.setVisible(true);
   }
}

</pre></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/lawrencepremkumar.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/lawrencepremkumar.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/lawrencepremkumar.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/lawrencepremkumar.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/lawrencepremkumar.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/lawrencepremkumar.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/lawrencepremkumar.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/lawrencepremkumar.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/lawrencepremkumar.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/lawrencepremkumar.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/lawrencepremkumar.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/lawrencepremkumar.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/lawrencepremkumar.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/lawrencepremkumar.wordpress.com/119/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=lawrencepremkumar.wordpress.com&amp;blog=8013849&amp;post=119&amp;subd=lawrencepremkumar&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://lawrencepremkumar.wordpress.com/2011/08/07/visual-stack-in-javafx/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fb62745e86ad312dd1fa5bb5a101653b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">lawrencepremkumar</media:title>
		</media:content>
	</item>
		<item>
		<title>Getting percentage of image loading in JavaFX 2.0</title>
		<link>http://lawrencepremkumar.wordpress.com/2011/07/03/getting-percentage-of-image-loading-in-javafx-2-0/</link>
		<comments>http://lawrencepremkumar.wordpress.com/2011/07/03/getting-percentage-of-image-loading-in-javafx-2-0/#comments</comments>
		<pubDate>Sun, 03 Jul 2011 16:13:11 +0000</pubDate>
		<dc:creator>lawrencepremkumar</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[javafx]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://lawrencepremkumar.wordpress.com/?p=110</guid>
		<description><![CDATA[If you have a bigger image and it has to be loaded into your application, then it can be loaded in background. While the bigger is getting loaded, we can show a thumb nail or we can show a place holder image. Once the bigger image gets loaded into your memory, it can be shown [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=lawrencepremkumar.wordpress.com&amp;blog=8013849&amp;post=110&amp;subd=lawrencepremkumar&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>If you have a bigger <a title="image" href="/javafx2.0/beta/javafx-sdk2.0-beta/docs/api/javafx/scene/image/Image.html" target="_blank">image </a>and it has to be loaded into your application, then it can be loaded in background. While the bigger is getting loaded, we can show a thumb nail or we can show a place holder image. Once the bigger image gets loaded into your memory, it can be shown into your application. The percentage of the image which is getting loaded can be tracked. This is shown in the following sample.</p>
<p><a href="http://lawrencepremkumar.files.wordpress.com/2011/07/initialimage.png"><img class="aligncenter size-thumbnail wp-image-111" title="InitialImage" src="http://lawrencepremkumar.files.wordpress.com/2011/07/initialimage.png?w=143&#038;h=150" alt="InitialImage" width="143" height="150" /></a></p>
<p><pre class="brush: java;">
import javafx.application.Application;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.VBox;
import javafx.scene.paint.Color;
import javafx.scene.shape.Rectangle;
import javafx.scene.text.Font;
import javafx.scene.text.Text;
import javafx.stage.Stage;

/**
 *
 * @author Lawrence PremKumar
 */
public class ImgBackgroundLoading extends Application {

    public static void main(String[] args) {
        Application.launch(ImgBackgroundLoading.class, args);
    }

    @Override
    public void start(final Stage primaryStage) {
        primaryStage.setTitle(&quot;Hello World&quot;);
        Group root = new Group();
        Scene scene = new Scene(root, 600, 600);

        Rectangle bg  = new Rectangle();
        bg.setWidth(600.0);
        bg.setHeight(600.0);

        final Text progressText = new Text(&quot;0 %&quot;);
        progressText.setFont(new Font(100));
        progressText.setFill(Color.BLUEVIOLET);

        final ImageView imgView = new ImageView();
        final Image img = new Image(&quot;http://www.webmastergrade.com/wp-content/uploads/2009/12/Christmas-Snow-Man.jpg&quot; ,true);
        img.progressProperty().addListener(new ChangeListener&lt;Number&gt;() {
                public void changed(ObservableValue ov,
                    Number old_val, Number new_val) {
                    progressText.setContent((int)new_val.doubleValue() +&quot; %&quot;);
                    if(new_val.doubleValue() == 100.0){
                        imgView.setFitHeight(600.0);
                        imgView.setFitWidth(600.0);
                        imgView.setImage(img);
                    }
                }
            });

        final Image tempImg = new Image(ProgressBarExample.class.getResourceAsStream(&quot;bird1.jpg&quot;));
        VBox layout = new VBox();
        imgView.setImage(tempImg);
        layout.getChildren().addAll(progressText,imgView);
        root.getChildren().addAll(bg,layout);
        primaryStage.setScene(scene);
        primaryStage.setVisible(true);
    }
}

</pre></p>
<p><a href="http://lawrencepremkumar.files.wordpress.com/2011/07/lastimage.png"><img class="aligncenter size-thumbnail wp-image-112" title="LastImage" src="http://lawrencepremkumar.files.wordpress.com/2011/07/lastimage.png?w=139&#038;h=150" alt="lastimg" width="139" height="150" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/lawrencepremkumar.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/lawrencepremkumar.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/lawrencepremkumar.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/lawrencepremkumar.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/lawrencepremkumar.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/lawrencepremkumar.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/lawrencepremkumar.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/lawrencepremkumar.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/lawrencepremkumar.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/lawrencepremkumar.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/lawrencepremkumar.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/lawrencepremkumar.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/lawrencepremkumar.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/lawrencepremkumar.wordpress.com/110/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=lawrencepremkumar.wordpress.com&amp;blog=8013849&amp;post=110&amp;subd=lawrencepremkumar&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://lawrencepremkumar.wordpress.com/2011/07/03/getting-percentage-of-image-loading-in-javafx-2-0/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fb62745e86ad312dd1fa5bb5a101653b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">lawrencepremkumar</media:title>
		</media:content>

		<media:content url="http://lawrencepremkumar.files.wordpress.com/2011/07/initialimage.png?w=143" medium="image">
			<media:title type="html">InitialImage</media:title>
		</media:content>

		<media:content url="http://lawrencepremkumar.files.wordpress.com/2011/07/lastimage.png?w=139" medium="image">
			<media:title type="html">LastImage</media:title>
		</media:content>
	</item>
		<item>
		<title>Custom SpecialPopup using JavaFX 2.0</title>
		<link>http://lawrencepremkumar.wordpress.com/2011/06/19/custom-specialpopup-using-javafx-2-0/</link>
		<comments>http://lawrencepremkumar.wordpress.com/2011/06/19/custom-specialpopup-using-javafx-2-0/#comments</comments>
		<pubDate>Sun, 19 Jun 2011 17:11:33 +0000</pubDate>
		<dc:creator>lawrencepremkumar</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[javafx]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://lawrencepremkumar.wordpress.com/?p=70</guid>
		<description><![CDATA[Popup is special window(no decorations with a null fill), like container for a scene graph which is seen above the stage and its invoked when user right clicks on the Node. This blog is an initial draft for the special popup i,e this SpecialPopup is different from the usual popup. SpecialPopup can be created like [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=lawrencepremkumar.wordpress.com&amp;blog=8013849&amp;post=70&amp;subd=lawrencepremkumar&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><!-- Include *at least* the core style and default theme --><br />
<em><strong><a title="Popup" href="http://download.oracle.com/javafx/2.0/api/javafx/stage/Popup.html" target="_blank">Popup</a></strong></em> is special window(no decorations with a null fill), like container for a scene graph which is seen above the stage and its invoked when user right clicks on the <em><strong><a title="Node" href="http://download.oracle.com/javafx/2.0/api/javafx/scene/Node.html" target="_blank">Node</a></strong></em>. This blog is an initial draft for the special popup i,e this <strong>SpecialPopup</strong> is different from the usual popup. SpecialPopup can be created like matrix. This SpecialPopup is created using TilePane for laying out the individual PopupMenuItem. I will develop this initial draft of this control as a full fluged control going forward.<br />
Note : <a title="Image" href="http://lawrencepremkumar.files.wordpress.com/2011/06/duke.jpg">Image </a>used for this example</p>
<p style="text-align:left;"><a href="http://lawrencepremkumar.files.wordpress.com/2011/06/specialpopup.png"><img class="aligncenter size-full wp-image-71" title="SpecialPopup" src="http://lawrencepremkumar.files.wordpress.com/2011/06/specialpopup.png?w=500" alt="SpecialPopup image is missing"   /></a><strong>Filename</strong> <strong>:</strong> <em>PopupMenuItem.java</em></p>
<p><pre class="brush: java;">
package popup;

import javafx.event.EventHandler;
import javafx.scene.Group;
import javafx.scene.control.Label;
import javafx.scene.effect.GaussianBlur;
import javafx.scene.image.ImageView;
import javafx.scene.input.MouseEvent;
import javafx.scene.paint.Color;
import javafx.scene.shape.Rectangle;

/**
 *
 * @author Lawrence PremKumar
 */
public class PopupMenuItem extends Group{

    public Label popUpMenuItem  ;
    final Rectangle bgRect = new Rectangle();

    PopupMenuItem(){
        popUpMenuItem = new Label();
    }
    PopupMenuItem(String menuName ,  javafx.scene.control.ContentDisplay labelPos ,ImageView imgView){
        popUpMenuItem = new Label(menuName,imgView);
        popUpMenuItem.setContentDisplay(labelPos);
        popUpMenuItem.setTextFill(Color.WHITE);
    }

    public Group createPopupMenuItem(){

        this.setOnMouseEntered(new EventHandler() {
            public void handle(MouseEvent event) {
                 bgRect.setWidth(popUpMenuItem.getWidth()+2);
                 bgRect.setHeight(popUpMenuItem.getHeight()+2);
                 bgRect.setArcHeight(5.0);
                 bgRect.setArcWidth(5.0);
                 bgRect.setFill(Color.BLACK);
                 bgRect.setOpacity(0.5);
            }
        });

        this.setOnMouseExited(new EventHandler() {
            public void handle(MouseEvent event) {
                  bgRect.setOpacity(0.0);
                  System.out.println(&quot;Mouse exited \n&quot;);
            }
        });

        this.getChildren().addAll(popUpMenuItem,bgRect);
        return this;
    }
}
</pre></p>
<p><strong>Filename</strong> <strong>:</strong> <em>PopupMenu.java</em></p>
<p><pre class="brush: java;">
 
package popup; 
import javafx.geometry.Orientation; 
import javafx.scene.layout.TilePane; 
 
 /*
  * @author Lawrence PremKumar 
  *
 */ 
  final public class PopupMenu extends TilePane {
    PopupMenu() {
    }
    PopupMenu(double hgap, double vgap) {
        super(hgap, vgap);
    }

    public boolean add(java.util.ArrayList popupArray) {
        boolean flag = true;
        for (int i = 0; i &lt;= popupArray.size();i++) { 
	flag = this.getChildren().add(popupArray.get(i).createPopupMenuItem());
            if (!flag) {
                break;
            } else {
                continue;
            }
        }
        return flag;
    }
}
</pre><br />
<strong>Filename</strong> <strong>:</strong> <em>TestPopup.java</em><br />
<pre class="brush: java;">
package popup; 
import javafx.application.Application; 
import javafx.event.EventHandler; 
import javafx.geometry.Orientation; 
import javafx.scene.Group; 
import javafx.scene.Scene; 
import javafx.scene.control.ContentDisplay; 
import javafx.scene.effect.DropShadow; 
import javafx.scene.image.Image; 
import javafx.scene.image.ImageView; 
import javafx.scene.input.MouseButton; 
import javafx.scene.input.MouseEvent; 
import javafx.scene.layout.TilePane;
import javafx.scene.paint.Color; 
import javafx.scene.paint.CycleMethod; 
import javafx.scene.paint.LinearGradient; 
import javafx.scene.paint.Stop; 
import javafx.scene.shape.Rectangle; 
import javafx.stage.Stage; 
import javafx.stage.StageStyle; 

/** 
 * 
 * @author Lawrence PremKumar 
 */

public class TestPopup extends Application {

    Stage stage1 = null;
    PopupMenuItem1 menu1 = null;
    PopupMenuItem1 menu2 = null;
    PopupMenuItem1 menu3 = null;
    PopupMenuItem1 menu4 = null;

    public static void main(String[] args) {
        Application.launch(TestPopup.class, args);
    }

    @Override
    public void start(final Stage primaryStage) {
        primaryStage.setTitle(&quot;Hello World&quot;);
        Group root = new Group();
        Scene scene = new Scene(root, 300, 250);
        ImageView imgView = new ImageView();
        imgView.setFitHeight(40.0);
        imgView.setFitWidth(40.0);
        Image img = new Image(TestPopupControl.class.getResourceAsStream(&quot;duke.jpg&quot;));
        imgView.setImage(img);
        Image img1 = new Image(TestPopupControl.class.getResourceAsStream(&quot;duke.jpg&quot;));
        ImageView imgView1 = new ImageView();
        imgView1.setFitHeight(40.0);
        imgView1.setFitWidth(40.0);
        imgView1.setImage(img1);
        Image img2 = new Image(TestPopupControl.class.getResourceAsStream(&quot;duke.jpg&quot;));
        ImageView imgView2 = new ImageView();
        imgView2.setFitHeight(40.0);
        imgView2.setFitWidth(40.0);
        imgView2.setImage(img2);
        menu1 = new PopupMenuItem1(&quot;One&quot;, ContentDisplay.TOP, imgView);
        menu2 = new PopupMenuItem1(&quot;Two&quot;, ContentDisplay.TOP, imgView1);
        menu3 = new PopupMenuItem1(&quot;Three&quot;, ContentDisplay.TOP, imgView2);
        menu1.setOnMouseClicked(new MouseEventHandler());
        menu2.setOnMouseClicked(new MouseEventHandler());
        menu3.setOnMouseClicked(new MouseEventHandler());
        final java.util.ArrayList popupArray = new java.util.ArrayList();
        popupArray.add(menu1);
        popupArray.add(menu2);
        popupArray.add(menu3);
        Rectangle bgRect = new Rectangle();
        bgRect.setWidth(200);
        bgRect.setHeight(130);
        bgRect.setArcHeight(5.0);
        bgRect.setArcWidth(5.0);
        bgRect.setFill(Color.RED);
        final PopupMenu popup = new PopupMenu(5, 5);
        popup.setHgap(5.0);
        popup.setLayoutX(5.0);
        popup.setLayoutY(7.0);
        popup.setPrefColumns(3);
        popup.setPrefRows(1);
        popup.add(popupArray);
        bgRect.setOnMouseClicked(new EventHandler() {
            public void handle(MouseEvent event) {
                if (event.getButton() == MouseButton.SECONDARY) {
                    stage1 = new Stage(StageStyle.TRANSPARENT);
                    Group rootGroup = new Group();
                    DropShadow ds = new DropShadow();
                    rootGroup.setEffect(ds);
                    ds.setOffsetY(3.0f);
                    ds.setColor(Color.color(0.4f, 0.4f, 0.4f));
                    Scene scene = new Scene(rootGroup);
                    scene.setFill(null);
                    Rectangle r = new Rectangle();
                    r.setWidth(140);
                    r.setHeight(70);
                    Stop[] stops = new Stop[]{new Stop(0, Color.web(&quot;#1F6592&quot;)), new Stop(1, Color.web(&quot;#80CAFA&quot;))};
                    LinearGradient lg = new LinearGradient(125.0, 0.0, 225.0, 0.0, true, CycleMethod.NO_CYCLE, stops);
                    r.setFill(lg);
                    r.setArcHeight(10.0);
                    r.setArcWidth(10.0);
                    rootGroup.getChildren().addAll(r, popup);
                    stage1.setScene(scene);
                    stage1.setX(event.getScreenX());
                    stage1.setY(event.getScreenY());
                    stage1.setVisible(true);
                }
            }
        });
        root.getChildren().addAll(bgRect);
        primaryStage.setScene(scene);
        primaryStage.setVisible(true);
    }

    public class MouseEventHandler implements EventHandler {
        public void handle(MouseEvent me) {
            if (me.getSource().equals(menu1)) { 
                // Action specific to menu1 
                stage1.close(); 
            } 
            if(me.getSource().equals(menu2)){ 
                // Action specific to menu2 
                stage1.close(); 
            } 
            if(me.getSource().equals(menu3)){ 
                // Action specific to menu3 
                stage1.close(); 
            } 
        } 
    } 
}
</pre></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/lawrencepremkumar.wordpress.com/70/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/lawrencepremkumar.wordpress.com/70/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/lawrencepremkumar.wordpress.com/70/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/lawrencepremkumar.wordpress.com/70/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/lawrencepremkumar.wordpress.com/70/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/lawrencepremkumar.wordpress.com/70/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/lawrencepremkumar.wordpress.com/70/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/lawrencepremkumar.wordpress.com/70/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/lawrencepremkumar.wordpress.com/70/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/lawrencepremkumar.wordpress.com/70/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/lawrencepremkumar.wordpress.com/70/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/lawrencepremkumar.wordpress.com/70/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/lawrencepremkumar.wordpress.com/70/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/lawrencepremkumar.wordpress.com/70/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=lawrencepremkumar.wordpress.com&amp;blog=8013849&amp;post=70&amp;subd=lawrencepremkumar&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://lawrencepremkumar.wordpress.com/2011/06/19/custom-specialpopup-using-javafx-2-0/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fb62745e86ad312dd1fa5bb5a101653b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">lawrencepremkumar</media:title>
		</media:content>

		<media:content url="http://lawrencepremkumar.files.wordpress.com/2011/06/specialpopup.png" medium="image">
			<media:title type="html">SpecialPopup</media:title>
		</media:content>
	</item>
		<item>
		<title>Current Date Widget using JavaFX 2.0</title>
		<link>http://lawrencepremkumar.wordpress.com/2011/06/12/current-date-widget-using-javafx-2-0/</link>
		<comments>http://lawrencepremkumar.wordpress.com/2011/06/12/current-date-widget-using-javafx-2-0/#comments</comments>
		<pubDate>Sun, 12 Jun 2011 15:05:33 +0000</pubDate>
		<dc:creator>lawrencepremkumar</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[javafx]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://lawrencepremkumar.wordpress.com/?p=35</guid>
		<description><![CDATA[Tried creating a simple &#8220;Current Date Widget&#8221; using JavaFX 2.0. While trying to develop current Date widget came to know that right now its not possible to create a main stage as undecorated. This is because, JavaFX 2.0 dn&#8217;t have stage.setStyle() method. But other than the primary stage or main Stage, all other stages can [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=lawrencepremkumar.wordpress.com&amp;blog=8013849&amp;post=35&amp;subd=lawrencepremkumar&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:center;">Tried creating a simple &#8220;<strong>Current Date Widget</strong>&#8221; using JavaFX 2.0.</p>
<p><a href="http://lawrencepremkumar.files.wordpress.com/2011/06/datewidget.png"><img class="aligncenter size-full wp-image-55" title="DateWidget" src="http://lawrencepremkumar.files.wordpress.com/2011/06/datewidget.png?w=500" alt="Datewidget image file not available"   /></a></p>
<p>While trying to develop current Date widget came to know that right now its not possible to create a main stage as undecorated. This is because, JavaFX 2.0 dn&#8217;t have <strong><em>stage.setStyle()</em></strong> method. But other than the primary stage or main Stage, all other stages can be created as undecorated or decorated depending upon the users choice.</p>
<p>First let me show you how to close the primary stage without user interaction.Add a button to the stage and call the button.fire(); this method arms the button &amp; triggers the ActionEvent.<br />
<strong>Note:-</strong> <em>According to the doc on fire(), &#8220;This function is intended to be used by experts, primarily by those implementing new Skins or Behaviors. It is not common for developers or designers to access this function directly.&#8221;</em></p>
<p>Stage is closed using <em><strong>stage.close()</strong></em> method.<br />
<strong><em>Stage(StageStyle.UNDECORATED)</em></strong> is used to create a undecorated stage.</p>
<p style="text-align:center;"><em>&#8220;To make it more dynamic, i need to implement a timer class and update the date very 5 minutes or to some nth min.&#8221;</em></p>
<p style="text-align:center;">
<p><pre class="brush: java; wrap-lines: true;">

import java.util.Calendar;
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.effect.DropShadow;
import javafx.scene.effect.Light.Distant;
import javafx.scene.effect.Lighting;
import javafx.scene.paint.Color;
import javafx.scene.paint.CycleMethod;
import javafx.scene.paint.LinearGradient;
import javafx.scene.paint.Stop;
import javafx.scene.shape.Rectangle;
import javafx.scene.text.Font;
import javafx.scene.text.FontWeight;
import javafx.scene.text.Text;
import javafx.stage.Stage;
import javafx.stage.StageStyle;

/**
*
* @author Lawrence PremKumar
*/

public class TodaysDateWiget extends Application {

	final double WIDTH = 150.0;
	final double HEIGHT = 150.0;

	public static void main(String[] args) {
		Application.launch(TodaysDateWiget.class, args);
	}

	@Override
	public void start(Stage primaryStage) {
		primaryStage.setTitle(&quot;Hello World&quot;);
		Group root = new Group();
		Scene scene = new Scene(root, 300, 250, Color.LIGHTGREEN);
		Button btn = new Button();
		btn.setLayoutX(100);
		btn.setLayoutY(80);
		btn.setText(&quot;Hello World&quot;);
		btn.setOnAction(new EventHandler&amp;lt;ActionEvent&amp;gt;() {
			public void handle(ActionEvent event) {
				Stage st = new Stage(StageStyle.UNDECORATED);
				Group group = new Group();
				Scene s = new Scene(group ,WIDTH+3,HEIGHT+5);
				s.setFill(null);
				group.getChildren().addAll(getToDayControl());
				st.setScene(s);
				st.setVisible(true);

			}
		});
		btn.fire();
		root.getChildren().add(btn);
		primaryStage.setScene(scene);
		primaryStage.setVisible(false);
		primaryStage.close();
	}

	public Group getToDayControl(){
		String[] months = {&quot;Jan&quot;, &quot;Feb&quot;,&quot;Mar&quot;, &quot;Apr&quot;, &quot;May&quot;,          &quot;Jun&quot;, &quot;Jul&quot;,&quot;Aug&quot;, &quot;Sep&quot;, &quot;Oct&quot;, &quot;Nov&quot;,&quot;Dec&quot;};
		Calendar cal =  Calendar.getInstance();

		Group ctrl = new Group();
		Rectangle rect = new Rectangle();
		rect.setWidth(WIDTH);
		rect.setHeight(HEIGHT);
		rect.setArcHeight(10.0);
		rect.setArcWidth(10.0);

		Rectangle headerRect = new Rectangle();
		headerRect.setWidth(WIDTH);
		headerRect.setHeight(30);
		headerRect.setArcHeight(10.0);
		headerRect.setArcWidth(10.0);

		Stop[] stops = new Stop[] { new Stop(0, Color.color(0.31, 0.31, 0.31, 0.443)), new Stop(1,  Color.color(0, 0, 0, 0.737))};
		LinearGradient lg = new LinearGradient( 0.482, -0.017, 0.518, 1.017, true, CycleMethod.REFLECT, stops);
		headerRect.setFill(lg);

		Rectangle footerRect = new Rectangle();
		footerRect.setY(headerRect.getBoundsInLocal().getHeight() -4);
		footerRect.setWidth(WIDTH);
		footerRect.setHeight(125);
		footerRect.setFill(Color.color(0.51,  0.671,  0.992));

		final Text currentMon = new Text(months[(cal.get(Calendar.MONTH) )]);
		currentMon.setFont(Font.font(&quot;null&quot;, FontWeight.BOLD, 24));
		currentMon.setTranslateX((footerRect.getBoundsInLocal().getWidth() - currentMon.getBoundsInLocal().getWidth())/2.0);
		currentMon.setTranslateY(23);
		currentMon.setFill(Color.WHITE);

		final Text currentDate = new          Text(Integer.toString(cal.get(Calendar.DATE)));
		currentDate.setFont(new Font(100.0));
		currentDate.setTranslateX((footerRect.getBoundsInLocal().getWidth() - currentDate.getBoundsInLocal().getWidth())/2.0);
		currentDate.setTranslateY(120);
		currentDate.setFill(Color.WHITE);

		ctrl.getChildren().addAll(rect, headerRect, footerRect , currentMon,currentDate);

		DropShadow ds = new DropShadow();
		ds.setOffsetY(3.0);
		ds.setOffsetX(3.0);
		ds.setColor(Color.GRAY);
		ctrl.setEffect(ds);

		return ctrl;
	}
}
</pre></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/lawrencepremkumar.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/lawrencepremkumar.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/lawrencepremkumar.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/lawrencepremkumar.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/lawrencepremkumar.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/lawrencepremkumar.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/lawrencepremkumar.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/lawrencepremkumar.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/lawrencepremkumar.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/lawrencepremkumar.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/lawrencepremkumar.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/lawrencepremkumar.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/lawrencepremkumar.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/lawrencepremkumar.wordpress.com/35/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=lawrencepremkumar.wordpress.com&amp;blog=8013849&amp;post=35&amp;subd=lawrencepremkumar&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://lawrencepremkumar.wordpress.com/2011/06/12/current-date-widget-using-javafx-2-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fb62745e86ad312dd1fa5bb5a101653b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">lawrencepremkumar</media:title>
		</media:content>

		<media:content url="http://lawrencepremkumar.files.wordpress.com/2011/06/datewidget.png" medium="image">
			<media:title type="html">DateWidget</media:title>
		</media:content>
	</item>
		<item>
		<title>Dynamically setting the side of TabPane in JavaFX 2.0</title>
		<link>http://lawrencepremkumar.wordpress.com/2011/06/01/dynamically-setting-the-side-of-tabpane-in-javafx-2-0/</link>
		<comments>http://lawrencepremkumar.wordpress.com/2011/06/01/dynamically-setting-the-side-of-tabpane-in-javafx-2-0/#comments</comments>
		<pubDate>Wed, 01 Jun 2011 19:09:48 +0000</pubDate>
		<dc:creator>lawrencepremkumar</dc:creator>
				<category><![CDATA[javafx]]></category>

		<guid isPermaLink="false">http://lawrencepremkumar.wordpress.com/?p=18</guid>
		<description><![CDATA[TabPane is one of the most commonly used component in any client side application. This blog shows you how to create a TabPane in JavaFX 2.0 and how to change its side dynamically apart from this it even shows you how to create and use the RadioButton.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=lawrencepremkumar.wordpress.com&amp;blog=8013849&amp;post=18&amp;subd=lawrencepremkumar&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>TabPane is one of the most commonly used component in any client side application. This blog shows you how to create a TabPane in JavaFX 2.0 and how to change its side dynamically apart from this it even shows you how to create and use the RadioButton.</p>
<p><a href="http://lawrencepremkumar.files.wordpress.com/2011/06/top.png"><img class="alignnone size-medium wp-image-22" title="Top" src="http://lawrencepremkumar.files.wordpress.com/2011/06/top.png?w=255&#038;h=266" alt="" width="255" height="266" /></a></p>
<p><pre class="brush: java;"> 

import javafx.application.Application;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.geometry.Side;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.ChoiceBox;
import javafx.scene.control.RadioButton;
import javafx.scene.control.Tab;
import javafx.scene.control.TabPane;
import javafx.scene.control.Toggle;
import javafx.scene.control.ToggleGroup;
import javafx.scene.layout.HBox;
import javafx.scene.paint.Color;
import javafx.scene.shape.Rectangle;
import javafx.stage.Stage;

/**
*
* @author Lawrence PremKumar
*/
public class TabPaneExample extends Application {
	TabPane tabPane = null;
	ChoiceBox cb = new ChoiceBox();
	Color colors[] = {Color.BLUE, Color.RED, Color.GREEN, Color.GOLD};

	@Override
	public void start(Stage stage) throws Exception {
		stage.setTitle(&quot;Tab Example&quot;);
		Group root = new Group();
		Scene scene = new Scene(root, 500, 500);&lt;/p&gt;

	     	// create a TabPane instance
		tabPane = new TabPane();
		tabPane.setLayoutX(20);
		tabPane.setLayoutY(20);

		// create individual tabs
		for (int i = 0; i &amp;lt; colors.length; i++) {
			Tab tab = new Tab();
			// set the label for tab
			tab.setText(&quot;Tab # &quot; + (i + 1));

			// add the content to tab
			tab.setContent(new Rectangle(400, 400, colors[i]));

			// add the tab to TabPane
			tabPane.getTabs().add(tab);
		}

		//create a hbox to hold the radio buttons
		HBox sideLayout = new HBox();
		sideLayout.setSpacing(10);

		final ToggleGroup tg = new ToggleGroup();
		RadioButton top = new RadioButton(&quot;Top&quot;);
		top.setSelected(true);
		top.setUserData(&quot;Top&quot;);
		top.setToggleGroup(tg);

		RadioButton bottom = new RadioButton(&quot;Bottom&quot;);
		bottom.setToggleGroup(tg);
		bottom.setUserData(&quot;Bottom&quot;);

		RadioButton left = new RadioButton(&quot;Left&quot;);
		left.setToggleGroup(tg);
		left.setUserData(&quot;Left&quot;);

		RadioButton right = new RadioButton(&quot;Right&quot;);
		right.setToggleGroup(tg);
		right.setUserData(&quot;Right&quot;);

		sideLayout.getChildren().addAll(top, bottom, left, right);

		// Add change listener to toggleGroup
		tg.selectedToggleProperty().addListener(new ChangeListener&lt;Toggle&gt;() {

			public void changed(ObservableValue&lt; extends Toggle&gt; observable,
					Toggle oldValue, Toggle newValue) {
				String selectedValue = tg.getSelectedToggle().getUserData().toString();
				System.out.println(selectedValue);
				if (selectedValue.equals(&quot;Top&quot;)) {
					tabPane.setSide(Side.TOP);
				}
				if (selectedValue.equals(&quot;Bottom&quot;)) {
					tabPane.setSide(Side.BOTTOM);
				}
				if (selectedValue.equals(&quot;Left&quot;)) {
					tabPane.setSide(Side.LEFT);
				}
				if (selectedValue.equals(&quot;Right&quot;)) {
					tabPane.setSide(Side.RIGHT);
				}
			}
		});

		root.getChildren().addAll(sideLayout, tabPane);
		stage.setScene(scene);
		stage.setVisible(true);
	}

	public static void main(String[] args) {
		Application.launch(TabPaneExample.class, args);
	}
}

</pre></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/lawrencepremkumar.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/lawrencepremkumar.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/lawrencepremkumar.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/lawrencepremkumar.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/lawrencepremkumar.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/lawrencepremkumar.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/lawrencepremkumar.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/lawrencepremkumar.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/lawrencepremkumar.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/lawrencepremkumar.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/lawrencepremkumar.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/lawrencepremkumar.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/lawrencepremkumar.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/lawrencepremkumar.wordpress.com/18/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=lawrencepremkumar.wordpress.com&amp;blog=8013849&amp;post=18&amp;subd=lawrencepremkumar&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://lawrencepremkumar.wordpress.com/2011/06/01/dynamically-setting-the-side-of-tabpane-in-javafx-2-0/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fb62745e86ad312dd1fa5bb5a101653b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">lawrencepremkumar</media:title>
		</media:content>

		<media:content url="http://lawrencepremkumar.files.wordpress.com/2011/06/top.png?w=287" medium="image">
			<media:title type="html">Top</media:title>
		</media:content>
	</item>
		<item>
		<title>Sepiatone  Image To Original  in JavaFX</title>
		<link>http://lawrencepremkumar.wordpress.com/2009/07/08/sepiatoneimagetooriginal-in-javafx/</link>
		<comments>http://lawrencepremkumar.wordpress.com/2009/07/08/sepiatoneimagetooriginal-in-javafx/#comments</comments>
		<pubDate>Wed, 08 Jul 2009 11:53:04 +0000</pubDate>
		<dc:creator>lawrencepremkumar</dc:creator>
				<category><![CDATA[javafx]]></category>

		<guid isPermaLink="false">http://lawrencepremkumar.wordpress.com/?p=6</guid>
		<description><![CDATA[A new image can be made to look like a old image just by applying SepiaTone effect to the ImageView . This makes the new image to look like a old image. Original Image Following piece of code is used to change the original image to look like a old image. var backImageView : ImageView [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=lawrencepremkumar.wordpress.com&amp;blog=8013849&amp;post=6&amp;subd=lawrencepremkumar&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A new image can be made to look like a old image just by applying  <a href="http://java.sun.com/javafx/1.2/docs/api/javafx.scene.effect/javafx.scene.effect.SepiaTone.html">SepiaTone effect</a> to the <a href="http://java.sun.com/javafx/1.2/docs/api/javafx.scene.image/javafx.scene.image.ImageView.html"> ImageView </a>. This makes the new image to look like a old image.</p>
<p><span> </span></p>
<p align="center"><img src="http://blogs.sun.com/lawpremkumar/resource/Original.png" alt="image is missing" width="308" height="188" /></p>
<div>
<p style="text-align:center;"><strong>Original Image</strong></p>
<p align="left">Following piece of code is used to change the original image to look like a old image.</p>
<div>var backImageView : ImageView = ImageView {<br />
preserveRatio : true<br />
image : image<br />
focusable : true<br />
<strong> effect : javafx.scene.effect.SepiaTone {<br />
level : 0.8<br />
}</strong><br />
}</div>
<p style="text-align:center;"><img class="aligncenter" src="http://blogs.sun.com/lawpremkumar/resource/SepiaToneImage.png" alt="image is missing" width="303" height="191" /></p>
<p style="direction:ltr;" align="center"><strong> </strong> <strong>SepiaTone Image ( Looks like old image )</strong></p>
<div>
<p>Now, how to see both the original image ( new image ) as well as the SepiaToned image ( look like old image ) simultaneously on a single image. The following image demonstrates this.</p>
<p align="center"><img src="http://blogs.sun.com/lawpremkumar/resource/Both.png" alt="image is missing" width="314" height="211" /></p>
</div>
</div>
<p>Create two ImageView, both image attribute&#8217;s of ImageView should be pointing to the same image source.  Clip one of the ImageView to Rectangle ( in this case the above one ) . Animate the  Rectangle used as clip for the above image from left to right &amp; right to left. Now you can see both Original image &amp; the SepiaToned image together.</p>
<div style="text-align:center;"><a href="http://blogs.sun.com/lawpremkumar/resource/SepiaToneImageToOriginal.jnlp"><img src="http://java.sun.com/products/jfc/tsc/sightings/images/webstart.small.jpg" border="0" alt="" /></a></div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/lawrencepremkumar.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/lawrencepremkumar.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/lawrencepremkumar.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/lawrencepremkumar.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/lawrencepremkumar.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/lawrencepremkumar.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/lawrencepremkumar.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/lawrencepremkumar.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/lawrencepremkumar.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/lawrencepremkumar.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/lawrencepremkumar.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/lawrencepremkumar.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/lawrencepremkumar.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/lawrencepremkumar.wordpress.com/6/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=lawrencepremkumar.wordpress.com&amp;blog=8013849&amp;post=6&amp;subd=lawrencepremkumar&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://lawrencepremkumar.wordpress.com/2009/07/08/sepiatoneimagetooriginal-in-javafx/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fb62745e86ad312dd1fa5bb5a101653b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">lawrencepremkumar</media:title>
		</media:content>

		<media:content url="http://blogs.sun.com/lawpremkumar/resource/Original.png" medium="image">
			<media:title type="html">image is missing</media:title>
		</media:content>

		<media:content url="http://blogs.sun.com/lawpremkumar/resource/SepiaToneImage.png" medium="image">
			<media:title type="html">image is missing</media:title>
		</media:content>

		<media:content url="http://blogs.sun.com/lawpremkumar/resource/Both.png" medium="image">
			<media:title type="html">image is missing</media:title>
		</media:content>

		<media:content url="http://java.sun.com/products/jfc/tsc/sightings/images/webstart.small.jpg" medium="image" />
	</item>
		<item>
		<title>Hello world!</title>
		<link>http://lawrencepremkumar.wordpress.com/2009/06/03/hello-world/</link>
		<comments>http://lawrencepremkumar.wordpress.com/2009/06/03/hello-world/#comments</comments>
		<pubDate>Wed, 03 Jun 2009 05:26:33 +0000</pubDate>
		<dc:creator>lawrencepremkumar</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Welcome to WordPress.com. This is your first post. Edit or delete it and start blogging!<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=lawrencepremkumar.wordpress.com&amp;blog=8013849&amp;post=1&amp;subd=lawrencepremkumar&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Welcome to <a href="http://wordpress.com/">WordPress.com</a>. This is your first post. Edit or delete it and start blogging!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/lawrencepremkumar.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/lawrencepremkumar.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/lawrencepremkumar.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/lawrencepremkumar.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/lawrencepremkumar.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/lawrencepremkumar.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/lawrencepremkumar.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/lawrencepremkumar.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/lawrencepremkumar.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/lawrencepremkumar.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/lawrencepremkumar.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/lawrencepremkumar.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/lawrencepremkumar.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/lawrencepremkumar.wordpress.com/1/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=lawrencepremkumar.wordpress.com&amp;blog=8013849&amp;post=1&amp;subd=lawrencepremkumar&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://lawrencepremkumar.wordpress.com/2009/06/03/hello-world/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fb62745e86ad312dd1fa5bb5a101653b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">lawrencepremkumar</media:title>
		</media:content>
	</item>
	</channel>
</rss>
