├── README.md
├── build.xml
├── build
├── built-jar.properties
├── classes
│ └── np
│ │ └── com
│ │ └── ngopal
│ │ ├── ListViewAnimation$1.class
│ │ ├── ListViewAnimation$2.class
│ │ ├── ListViewAnimation.class
│ │ ├── animation
│ │ ├── AnimationPack.class
│ │ └── AnimationType.class
│ │ ├── control
│ │ └── cell
│ │ │ ├── AbstractAnimatedListCell.class
│ │ │ ├── AnimatedListCell$1.class
│ │ │ ├── AnimatedListCell$2.class
│ │ │ ├── AnimatedListCell$3.class
│ │ │ └── AnimatedListCell.class
│ │ ├── css
│ │ └── style.css
│ │ ├── fonts
│ │ └── segoesc.ttf
│ │ └── img
│ │ ├── Thumbs.db
│ │ ├── gloss.png
│ │ ├── wooden.png
│ │ └── wooden2.png
└── nb-jfx.jks
├── dist
├── ListViewAnimation.html
├── ListViewAnimation.jar
├── ListViewAnimation.jnlp
└── web-files
│ ├── dtjava.js
│ ├── error.png
│ ├── get_java.png
│ ├── get_javafx.png
│ ├── javafx-chrome.png
│ ├── javafx-loading-100x100.gif
│ ├── javafx-loading-25x25.gif
│ ├── upgrade_java.png
│ └── upgrade_javafx.png
├── manifest.mf
├── nbproject
├── build-impl.xml
├── configs
│ ├── Run_as_WebStart.properties
│ └── Run_in_Browser.properties
├── genfiles.properties
├── jfx-impl.xml
├── private
│ ├── configs
│ │ ├── Run_as_WebStart.properties
│ │ └── Run_in_Browser.properties
│ ├── private.properties
│ └── retriever
│ │ └── catalog.xml
├── project.properties
└── project.xml
└── src
└── np
└── com
└── ngopal
├── ListViewAnimation.java
├── animation
├── AnimationPack.java
└── AnimationType.java
├── control
└── cell
│ ├── AbstractAnimatedListCell.java
│ └── AnimatedListCell.java
├── css
└── style.css
├── fonts
└── segoesc.ttf
└── img
├── Thumbs.db
├── gloss.png
├── wooden.png
└── wooden2.png
/README.md:
--------------------------------------------------------------------------------
1 | This is the Listview
--------------------------------------------------------------------------------
/build.xml:
--------------------------------------------------------------------------------
1 |
2 | Builds, tests, and runs the project ListViewAnimation.
3 |
4 |
53 |
54 |
--------------------------------------------------------------------------------
/build/built-jar.properties:
--------------------------------------------------------------------------------
1 | #Sat, 07 Sep 2013 16:15:30 +0545
2 |
3 |
4 | C\:\\Users\\Lenovo\\Documents\\NetBeansProjects\\ListViewAnimation=
5 |
--------------------------------------------------------------------------------
/build/classes/np/com/ngopal/ListViewAnimation$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/privatejava/javafx-listview-animation/d882be2d1d6e53e009fbba0cac44ecddca18305f/build/classes/np/com/ngopal/ListViewAnimation$1.class
--------------------------------------------------------------------------------
/build/classes/np/com/ngopal/ListViewAnimation$2.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/privatejava/javafx-listview-animation/d882be2d1d6e53e009fbba0cac44ecddca18305f/build/classes/np/com/ngopal/ListViewAnimation$2.class
--------------------------------------------------------------------------------
/build/classes/np/com/ngopal/ListViewAnimation.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/privatejava/javafx-listview-animation/d882be2d1d6e53e009fbba0cac44ecddca18305f/build/classes/np/com/ngopal/ListViewAnimation.class
--------------------------------------------------------------------------------
/build/classes/np/com/ngopal/animation/AnimationPack.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/privatejava/javafx-listview-animation/d882be2d1d6e53e009fbba0cac44ecddca18305f/build/classes/np/com/ngopal/animation/AnimationPack.class
--------------------------------------------------------------------------------
/build/classes/np/com/ngopal/animation/AnimationType.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/privatejava/javafx-listview-animation/d882be2d1d6e53e009fbba0cac44ecddca18305f/build/classes/np/com/ngopal/animation/AnimationType.class
--------------------------------------------------------------------------------
/build/classes/np/com/ngopal/control/cell/AbstractAnimatedListCell.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/privatejava/javafx-listview-animation/d882be2d1d6e53e009fbba0cac44ecddca18305f/build/classes/np/com/ngopal/control/cell/AbstractAnimatedListCell.class
--------------------------------------------------------------------------------
/build/classes/np/com/ngopal/control/cell/AnimatedListCell$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/privatejava/javafx-listview-animation/d882be2d1d6e53e009fbba0cac44ecddca18305f/build/classes/np/com/ngopal/control/cell/AnimatedListCell$1.class
--------------------------------------------------------------------------------
/build/classes/np/com/ngopal/control/cell/AnimatedListCell$2.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/privatejava/javafx-listview-animation/d882be2d1d6e53e009fbba0cac44ecddca18305f/build/classes/np/com/ngopal/control/cell/AnimatedListCell$2.class
--------------------------------------------------------------------------------
/build/classes/np/com/ngopal/control/cell/AnimatedListCell$3.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/privatejava/javafx-listview-animation/d882be2d1d6e53e009fbba0cac44ecddca18305f/build/classes/np/com/ngopal/control/cell/AnimatedListCell$3.class
--------------------------------------------------------------------------------
/build/classes/np/com/ngopal/control/cell/AnimatedListCell.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/privatejava/javafx-listview-animation/d882be2d1d6e53e009fbba0cac44ecddca18305f/build/classes/np/com/ngopal/control/cell/AnimatedListCell.class
--------------------------------------------------------------------------------
/build/classes/np/com/ngopal/css/style.css:
--------------------------------------------------------------------------------
1 | .anim-list-cell {
2 | -fx-font-size:45px;
3 | -fx-font-family: 'Segoe Script';
4 | }
5 | .anim-list-cell:selected,.anim-list-cell:selected:hover{
6 | -fx-border-color:linear-gradient(to bottom,transparent,rgb(22,22,22,1));
7 | -fx-border-width:2 2 2 10px;
8 | -fx-effect:innershadow( three-pass-box,#764b0c,30,0.3,0,0);
9 | }
10 | .anim-list-cell:hover{
11 | -fx-border-color:rgb(255,255,255,0.7);
12 | -fx-border-width:1 1 1 10px;
13 | }
14 | .anim-list-cell{
15 | -fx-background-image: url('../img/wooden.png') ,url('../img/gloss.png');
16 | -fx-background-repeat: repeat,no-repeat;
17 | -fx-background-position:left top;
18 | -fx-background-size: auto,100% 40%;
19 | }
20 | .anim-list-cell:odd{
21 |
22 | -fx-background-image: url('../img/wooden2.png') ,url('../img/gloss.png');
23 | -fx-background-repeat: repeat,no-repeat;
24 | }
25 |
--------------------------------------------------------------------------------
/build/classes/np/com/ngopal/fonts/segoesc.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/privatejava/javafx-listview-animation/d882be2d1d6e53e009fbba0cac44ecddca18305f/build/classes/np/com/ngopal/fonts/segoesc.ttf
--------------------------------------------------------------------------------
/build/classes/np/com/ngopal/img/Thumbs.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/privatejava/javafx-listview-animation/d882be2d1d6e53e009fbba0cac44ecddca18305f/build/classes/np/com/ngopal/img/Thumbs.db
--------------------------------------------------------------------------------
/build/classes/np/com/ngopal/img/gloss.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/privatejava/javafx-listview-animation/d882be2d1d6e53e009fbba0cac44ecddca18305f/build/classes/np/com/ngopal/img/gloss.png
--------------------------------------------------------------------------------
/build/classes/np/com/ngopal/img/wooden.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/privatejava/javafx-listview-animation/d882be2d1d6e53e009fbba0cac44ecddca18305f/build/classes/np/com/ngopal/img/wooden.png
--------------------------------------------------------------------------------
/build/classes/np/com/ngopal/img/wooden2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/privatejava/javafx-listview-animation/d882be2d1d6e53e009fbba0cac44ecddca18305f/build/classes/np/com/ngopal/img/wooden2.png
--------------------------------------------------------------------------------
/build/nb-jfx.jks:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/privatejava/javafx-listview-animation/d882be2d1d6e53e009fbba0cac44ecddca18305f/build/nb-jfx.jks
--------------------------------------------------------------------------------
/dist/ListViewAnimation.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
17 |
18 |
37 |
38 |
39 | Test page for ListViewAnimation
40 | Webstart: click to launch this app as webstart
41 |
42 |
43 |
44 |
45 |
--------------------------------------------------------------------------------
/dist/ListViewAnimation.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/privatejava/javafx-listview-animation/d882be2d1d6e53e009fbba0cac44ecddca18305f/dist/ListViewAnimation.jar
--------------------------------------------------------------------------------
/dist/ListViewAnimation.jnlp:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | ListViewAnimation
5 | Lenovo
6 | Sample JavaFX 2.0 application.
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/dist/web-files/dtjava.js:
--------------------------------------------------------------------------------
1 | var dtjava=function(){function r(d){return(d!=undefined&&d!=null)}function s(d){return(d!=null&&typeof d!="undefined")}function B(d,aU){for(var w=0;w0){dtjava.dtPendingCnt--;setTimeout(w,500)}}}if(!r(dtjava.dtPending)||dtjava.dtPendingCnt==0){dtjava.dtPending={}}dtjava.dtPending[d]=aU;dtjava.dtPendingCnt=1000;if(w!=null){w()}}}function W(aW,aV,a2,aX,aZ){var w=f();if(Y.chrome&&Y.win&&w!=null&&!aL(w)){var d;if(r(aW.placeholder)){var aY=function(){O.open("http://www.java.com/en/download/faq/chrome.xml");return false};var a1="Please give Java permission to run on this browser web page.";var a0="Click for more information.";var a3="";ay(aW,a1,a0,a3,"javafx-chrome.png",aY);d=aW.id+"-embed"}else{a2.jre="blocked";K(aW,a2,aX);d="launch"}var aU=function(){var a5=N(aV);if(a5==null){aZ()}else{W(aW,aV,a5,aX,aZ)}};ab(d,aU);return}if(!a2.isUnsupportedPlatform()&&!a2.isUnsupportedBrowser()){if(an(a2)&&s(aX.onInstallNeeded)){var a4=function(){var a5=N(aV);if(a5==null){aZ()}else{K(aW,a5,aX)}};aX.onInstallNeeded(aW,aV,aX,a2.canAutoInstall(),a2.isRelaunchNeeded(),a4);return}}K(aW,a2,aX)}function ah(){if(Y.deploy!=null){return aQ("10.6+",Y.deploy)}return false}function ad(d){return d!=null&&s(d.version)}function aP(){return document.getElementById("dtlite")}function j(){if(aP()!=null){return}var w=document.createElement("embed");w.width="10";w.height="10";w.id="dtlite";w.type="application/x-java-applet";var aU=document.createElement("div");aU.style.position="relative";aU.style.left="-10000px";aU.appendChild(w);var d=document.getElementsByTagName("body");d[0].appendChild(aU)}function y(w){var aU=aP();if(aU==null){j();aU=aP()}if(ad(aU)){w(aU)}else{var d=null;if(!s(dtjava.dtlitePendingCnt)||dtjava.dtlitePendingCnt==0){d=function(){if(s(aU.version)){if(dtjava.pendingLaunch!=null){dtjava.pendingLaunch(aU)}dtjava.pendingLaunch=null;return}if(dtjava.dtlitePendingCnt>0){dtjava.dtlitePendingCnt--;setTimeout(d,500)}}}dtjava.pendingLaunch=w;dtjava.dtlitePendingCnt=1000;if(d!=null){d()}}}function aM(aV,w,d){var aU=function(){var aW=aP();if(aW==null){if(s(d.onRuntimeError)){d.onRuntimeError(aV.id)}}var aZ={url:aV.url};if(r(w)){aZ.vmargs=w}if(r(aV.params)){var a0={};for(var aX in aV.params){a0[aX]=String(aV.params[aX])}aZ.params=a0}if(r(aV.jnlp_content)){aZ.jnlp_content=aV.jnlp_content}var aY=aW.launchApp(aZ);if(aY==0){if(s(d.onRuntimeError)){d.onRuntimeError(aV.id)}}};if(aQ("10.4+",Y.deploy)){y(aU);return true}return false}function ag(w){var d=null;if(Y.ie){d=V.createElement("object");d.width="1px";d.height="1px";var aU=V.createElement("param");aU.name="launchjnlp";aU.value=w;d.appendChild(aU);aU=V.createElement("param");aU.name="docbase";aU.value=r(V.documentURI)?V.documentURI:V.URL;d.appendChild(aU);if(!Y.ie){d.type="application/x-java-applet;version=1.7"}else{d.classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"}}else{d=V.createElement("embed");d.width="0";d.height="0";d.setAttribute("launchjnlp",w);d.setAttribute("docbase",(r(V.documentURI)?V.documentURI:V.URL));d.type="application/x-java-applet;version=1.7"}var aV=V.createElement("div");aV.style.position="relative";aV.style.left="-10000px";aV.appendChild(d);return aV}function i(aU,d){if(aU==null||aU.length==0){return true}var w=(aU.charAt(aU.length-1)=="*");if(!w){return aQ(aU,d)}else{return(aQ(aU.charAt(0)+".*",d)&&aQ(aU.substring(0,aU.length-1)+"+",d))}}function t(w){if(w!=null){var aU=w.charAt(w.length-1);if(aU<="0"||aU>="9"){w=w.substring(0,w.length-1)}}if(w==null||w.length==0){return[0,0,0,0]}var d=w.split(".");while(d.length<4){d.push(0)}return d}function aQ(aV,w){if(aV==null||aV.length==0){return true}var aY=aV.charAt(aV.length-1);if(aY!="+"&&aY!="*"&&(aV.indexOf("_")!=-1&&aY!="_")){aV=aV+"*";aY="*"}aV=aV.substring(0,aV.length-1);if(aV.length>0){var aX=aV.charAt(aV.length-1);if(aX=="."||aX=="_"){aV=aV.substring(0,aV.length-1)}}if(aY=="*"){return(w.indexOf(aV)==0)}else{if(aY=="+"){var aW=t(aV);var aU=t(w);for(var d=0;d0){var w=d.charAt(d.length-1);if(w=="*"){d=d.substring(0,d.length-1)+"+"}else{if(w!="+"){d=d+"+"}}}return d}function N(d){var w=new dtjava.Platform(d);w.jvm=ap(w.jvm);return g(w)}function g(aU){aU=new dtjava.Platform(aU);var aV="ok",a2="ok",a1=false,aX=false,aY=false,w,d;if(r(aU.jvm)&&u(aU.jvm)!="ok"){var aZ=u("*");if(aZ=="ok"){a2="old"}else{a2=aZ}d=D();if(d.os){a2="unsupported";aX=true}aY=d.browser}if(r(aU.javafx)){d=aE();if(d.os||d.browser){aV="unsupported";aX=aX||d.os;aY=aY||d.browser}else{if(Y.fx!=null){if(i(aU.javafx,Y.fx)){aV="ok"}else{if(i("2.0+",Y.fx)){aV="old"}}}else{if(Y.win){try{w=f();var a0=w.getInstalledFXVersion(aU.javafx);if(a0==""||a0==null){a0=w.getInstalledFXVersion("2.0+");if(a0==null||a0==""){aV="none"}else{aV="old"}}}catch(aW){aV="none"}}else{if(Y.mac||Y.linux){aV="none"}}}}}a1=a1||(!aX&&aY);if(aV!="ok"||a2!="ok"||a1||aX||aY){return new F({fx:aV,jre:a2,relaunch:a1,os:aX,browser:aY,platform:aU})}else{if(!aJ()){return new F({fx:aV,jre:"none",relaunch:a1,os:aX,browser:aY,platform:aU})}}return null}function S(){var d=null;d=navigator.userLanguage;if(d==null){d=navigator.systemLanguage}if(d==null){d=navigator.language}if(d!=null){d=d.replace("-","_")}return d}function am(d){if(!r(d)){d=S()}return"http://jdl.sun.com/webapps/getjava/BrowserRedirect?host=java.com"+(r(V.url)?("&returnPage="+V.url):"")+(r(d)?("&locale="+d):"")}function R(d){return"http://www.oracle.com/technetwork/java/javafx/downloads/index.html"}function an(d){if(d!=null){var aU=d.jreStatus();var w=d.javafxStatus();return(aU=="none"||w=="none"||aU=="old"||w=="old")&&(w!="disabled"&&aU!="disabled")}return false}function ax(w,aU,aV,a0,aY,a2){var a1,d;if(aU){a1="Java";d="java"}else{a1="JavaFX";d="javafx"}var aX,aW,aZ;if(aV){aX="A newer version of "+a1+"is required to view the content on this page.";aW="Please click here to update "+a1;aZ="upgrade_"+d+".png"}else{aX="View the content on this page.";aW="Please click here to install "+a1;aZ="get_"+d+".png"}var a3="Click to install "+a1;ay(w,aX,aW,a3,aZ,a2)}function ay(w,aX,aW,a0,aY,aZ){var d=V.createElement("div");d.width=w.width;d.height=w.height;var aV=V.createElement("a");aV.href="";aV.onclick=function(){aZ();return false};if(w.width<250||w.height<160){d.appendChild(V.createElement("p").appendChild(V.createTextNode(aX)));aV.appendChild(V.createTextNode(aW));d.appendChild(aV)}else{var aU=V.createElement("img");aU.src=x+aY;aU.alt=a0;aU.style.borderWidth="0px";aU.style.borderStyle="none";aV.appendChild(aU);d.appendChild(aV)}m(w.placeholder);w.placeholder.appendChild(d)}function ar(d){if(aQ(d.jvm,az)&&i(d.javafx,"2.2.0")){return true}return false}function l(aV,w,aW,aZ,a0,a1){var aY=function(){e(aV,w,aW,a1)};var a2=g(w);if(!r(a2)){if(r(a1)){a1()}}var aX=r(a2)&&(a2.javafxStatus()=="old"||a2.jreStatus()=="old");if(r(aV.placeholder)){if(ar(w)){ax(aV,true,aX,aZ,a0,aY)}else{ax(aV,(a2.jreStatus()!="ok"),aX,aZ,a0,aY)}}else{var d=aZ;var aU=null;if(!d){if(ar(w)){if(aX){aU="A newer version of Java is required to view the content on this page. Please click here to update Java."}else{aU="To view the content on this page, please click here to install Java."}d=confirm(aU)}else{if(aX){aU="A newer version of JavaFX is required to view the content on this page. Please click here to update JavaFX."}else{aU="To view the content on this page, please click here to install JavaFX."}d=confirm(aU)}}if(d){aY()}}}function n(d){if(!Y.ie){return true}if(aQ("10.0.0+",f().version)){return true}if(d==null){return false}return !aQ("1.6.0_33+",d)}function G(d,aV,w){if(!Y.win){return false}var aU=f();if(aU==null||!s(aU.version)){return false}if(aV!="ok"){if(!n(d.jvm)){return false}}if(w!="ok"){if(!ar(d)){if(!aQ("10.0.0+",f().version)){return false}}else{if(!n(az)){return false}}}return true}function e(aV,aU,aW,aZ){var a1=g(aU);aW=new dtjava.Callbacks(aW);if(r(a1)&&a1.isUnsupportedPlatform()){K(aV,a1,aW);return false}var a0=(aV!=null)?aV.placeholder:null;var d,aX;if(an(a1)){if(a1.canAutoInstall()){var w=f();var aY=function(){var a4=function(a5){if(a5==10000+1){return}d=["success","ignore","error:download","error:generic","error:generic","error:generic","error:generic","error:cancelled"];if(a5>19900){if(a5==20000+1602||a5===20000-2){aX="error:cancelled"}else{aX="error:generic"}}else{if(a5>=10000&&a5<=19900){aX=(a5>=10000&&a5<10000+d.length)?d[a5-10000]:"error:unknown"}else{aX="error:generic"}}if(s(aW.onInstallFinished)){aW.onInstallFinished(a0,"javafx",aX,a1.isRelaunchNeeded())}if(a5==0){if(r(aZ)){aZ()}}};if(s(aW.onInstallStarted)){aW.onInstallStarted(a0,"JavaFX",true,true)}var a3=0;try{a3=w.installJavaFX(aU.javafx,a4)}catch(a2){a3=0}if(a3==0){a3=w.installJavaFX(aU.javafx);setTimeout(function(){setTimeout(function(){a4(a3?1:0)},0)},0)}};if(a1.jre!="ok"||ar(aU)){setTimeout(function(){var a3=function(a6){if(a6==10000+1){return}if(a6>19900){aX="error:generic"}else{if(a6==-1){aX="error:generic"}else{if(a6>10000){aX="error:generic"}else{if(a6==0){aX="success"}else{aX="error:generic"}}}}if(s(aW.onInstallFinished)){aW.onInstallFinished(a0,"jre",aX,a1.isRelaunchNeeded())}if(a6==0){a1=g(aU);if(a1!=null&&a1.jre=="ok"&&!ai&&a1.fx!="ok"){setTimeout(aY,0)}else{if(aZ!=null){aZ()}}}};if(s(aW.onInstallStarted)){aW.onInstallStarted(a0,"Java",true,true)}var a4=0;try{a4=w.installJRE(aU.jvm,aU.javafx,a3)}catch(a2){a4=0}if(a4==0){var a5=aU.jvm;if(a1.fx!="ok"&&ar(aU)){a5=az;if(aU.jvm.indexOf("*")!=-1){a5+="*"}else{if(aU.jvm.indexOf("+")!=-1){a5+="+"}}}try{a4=w.installJRE(a5,a3)}catch(a2){a4=0}if(a4==0){try{a4=w.installJRE(a5)}catch(a2){a4=0}setTimeout(function(){setTimeout(function(){a3(a4)},0)},0)}}},0)}else{if(!ai&&a1.fx!="ok"){setTimeout(aY,0)}}}else{if(a1.jre!="ok"||ar(aU)){if(s(aW.onInstallStarted)){aW.onInstallStarted(a0,"Java",false,f()!=null)}aO()}else{if(a1.fx!="ok"){if(s(aW.onInstallStarted)){aW.onInstallStarted(a0,"JavaFX",false,f()!=null)}aK()}else{K(aV,a1,aW)}}}}else{if(aZ!=null){aZ()}return true}return false}function aO(){O.open(am())}function aK(){O.open(ac)}function aS(aX){if(aX.placeholder!=null){var aV=aX.width,aZ=aX.height;var aY=!(aV<100&&aZ<100);var aU=aY?"javafx-loading-100x100.gif":"javafx-loading-25x25.gif";var d=aY?80:25;var aW=aY?80:25;var w=V.createElement("img");w.src=x+aU;w.alt="";w.style.position="relative";w.style.top="50%";w.style.left="50%";w.style.marginTop=(-aW/2);w.style.marginLeft=(-d/2);return w}else{return null}}function aD(w){if(w.placeholder!=null){var d=V.createElement("p");d.appendChild(V.createTextNode("FIXME - add real message!"));return d}}function m(d){while(d.hasChildNodes()){d.removeChild(d.firstChild)}}function ae(aW,aU,d,w){if(aW!=null){var aV=null;if(d){aV=(aU=="JavaFX")?"install:inprogress:javafx":"install:inprogress:jre"}else{aV=(aU=="JavaFX")?"install:inprogress:javafx:manual":"install:inprogress:jre:manual"}aN(aV)}}function o(aX,w,d,aW){var aU;if(d!="success"){var aV=null;if(w=="javafx"){if(!aJ()){aV="install:fx:error:nojre"}else{aV="install:fx:"+d}}else{aV="install:jre:"+d}if(aX!=null){aU=P(aV,null);m(aX);aX.appendChild(aU)}else{O.alert(at(aV))}}else{if(aW){aU=aN("install:fx:restart");m(aX);aX.appendChild(aU)}}}function aT(w,d){if(d==null){code="success"}else{if(d.isUnsupportedBrowser()){code="browser"}else{if(d.jreStatus()!="ok"){code="jre:"+d.jreStatus()}else{if(d.javafxStatus()!="ok"){code="javafx:"+d.javafxStatus()}else{if(d.isRelaunchNeeded()){code="relaunch"}else{code="unknown "+d.toString()}}}}}if(w.placeholder!=null){E(w.id,code,null)}else{O.alert(at(code))}}function X(w){var d=M(w);if(L(w)!=null){E(w,"launch:fx:generic:embedded",function(){aq(M(w),false);return false})}else{O.alert(at("launch:fx:generic"))}}function f(){navigator.plugins.refresh(false);return document.getElementById("dtjavaPlugin")}function T(){if(f()!=null){return}if(!r(V.body)&&!aG){k(function(){T()});return}var aU=null;if(Y.ie){aU=V.createElement("object");aU.width="1px";aU.height="1px";aU.classid="clsid:CAFEEFAC-DEC7-0000-0001-ABCDEFFEDCBA"}else{if(!Y.wk&&!Y.op&&navigator.mimeTypes!=null){var aW="application/java-deployment-toolkit";var aV=false;for(var w=0;w "+this.params[p];aV=false}aU+="}"}return"dtjava.App: [url="+this.url+", id="+this.id+", dimensions=("+this.width+","+this.height+"), toolkit="+this.toolkit+", embedded_jnlp="+(r(this.jnlp_content)?(this.jnlp_content.length+" bytes"):"NO")+", params="+aU+"]"}},Callbacks:function(d){this.onGetSplash=aS;this.onInstallNeeded=l;this.onInstallStarted=ae;this.onInstallFinished=o;this.onDeployError=aT;this.onGetNoPluginMessage=aD;this.onJavascriptReady=null;this.onRuntimeError=X;for(c in d){this[c]=d[c]}}}}();
--------------------------------------------------------------------------------
/dist/web-files/error.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/privatejava/javafx-listview-animation/d882be2d1d6e53e009fbba0cac44ecddca18305f/dist/web-files/error.png
--------------------------------------------------------------------------------
/dist/web-files/get_java.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/privatejava/javafx-listview-animation/d882be2d1d6e53e009fbba0cac44ecddca18305f/dist/web-files/get_java.png
--------------------------------------------------------------------------------
/dist/web-files/get_javafx.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/privatejava/javafx-listview-animation/d882be2d1d6e53e009fbba0cac44ecddca18305f/dist/web-files/get_javafx.png
--------------------------------------------------------------------------------
/dist/web-files/javafx-chrome.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/privatejava/javafx-listview-animation/d882be2d1d6e53e009fbba0cac44ecddca18305f/dist/web-files/javafx-chrome.png
--------------------------------------------------------------------------------
/dist/web-files/javafx-loading-100x100.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/privatejava/javafx-listview-animation/d882be2d1d6e53e009fbba0cac44ecddca18305f/dist/web-files/javafx-loading-100x100.gif
--------------------------------------------------------------------------------
/dist/web-files/javafx-loading-25x25.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/privatejava/javafx-listview-animation/d882be2d1d6e53e009fbba0cac44ecddca18305f/dist/web-files/javafx-loading-25x25.gif
--------------------------------------------------------------------------------
/dist/web-files/upgrade_java.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/privatejava/javafx-listview-animation/d882be2d1d6e53e009fbba0cac44ecddca18305f/dist/web-files/upgrade_java.png
--------------------------------------------------------------------------------
/dist/web-files/upgrade_javafx.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/privatejava/javafx-listview-animation/d882be2d1d6e53e009fbba0cac44ecddca18305f/dist/web-files/upgrade_javafx.png
--------------------------------------------------------------------------------
/manifest.mf:
--------------------------------------------------------------------------------
1 | Manifest-Version: 1.0
2 | X-COMMENT: Main-Class will be added automatically by build
3 |
4 |
--------------------------------------------------------------------------------
/nbproject/build-impl.xml:
--------------------------------------------------------------------------------
1 |
2 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 | Must set platform.home
84 | Must set platform.bootcp
85 | Must set platform.java
86 | Must set platform.javac
87 |
88 | The J2SE Platform is not correctly set up.
89 | Your active platform is: ${platform.active}, but the corresponding property "platforms.${platform.active}.home" is not found in the project's properties files.
90 | Either open the project in the IDE and setup the Platform with the same name or add it manually.
91 | For example like this:
92 | ant -Duser.properties.file=<path_to_property_file> jar (where you put the property "platforms.${platform.active}.home" in a .properties file)
93 | or ant -Dplatforms.${platform.active}.home=<path_to_JDK_home> jar (where no properties file is used)
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
121 |
122 |
123 |
124 |
125 |
126 |
127 |
128 |
129 |
130 |
131 |
132 |
133 |
134 |
135 |
136 |
137 |
138 |
139 |
140 |
141 |
142 |
143 |
144 |
145 |
146 |
147 |
148 |
149 |
150 |
151 |
152 |
153 |
154 |
155 |
156 |
157 |
158 |
159 |
160 |
161 |
162 |
163 |
164 |
165 |
166 |
167 |
168 |
169 |
170 |
171 |
172 |
173 |
174 |
175 |
176 |
177 |
178 |
179 |
180 |
181 |
182 |
183 |
184 |
185 |
186 |
187 |
188 |
189 |
190 |
191 |
192 |
193 |
194 |
195 |
196 |
197 |
198 |
199 |
200 |
201 |
202 |
203 |
204 |
205 |
206 |
207 |
208 |
209 |
210 |
211 |
212 |
213 |
214 |
215 |
216 |
217 |
218 |
219 |
220 |
221 |
222 |
223 |
224 |
225 |
226 |
227 |
228 |
229 |
230 |
231 |
232 |
233 |
234 |
235 |
236 |
237 |
238 |
239 |
240 |
241 |
242 |
243 |
244 |
245 |
246 |
247 |
248 |
249 |
250 |
251 |
252 |
253 |
254 |
255 |
256 |
257 |
258 |
259 |
260 | Must set src.dir
261 | Must set test.src.dir
262 | Must set build.dir
263 | Must set dist.dir
264 | Must set build.classes.dir
265 | Must set dist.javadoc.dir
266 | Must set build.test.classes.dir
267 | Must set build.test.results.dir
268 | Must set build.classes.excludes
269 | Must set dist.jar
270 |
271 |
272 |
273 |
274 |
275 |
276 |
277 |
278 |
279 |
280 |
281 |
282 |
283 |
284 |
285 |
286 |
287 |
288 |
289 |
290 |
291 |
292 |
293 |
294 |
295 |
296 |
297 |
298 |
299 |
300 |
301 |
302 |
303 |
304 |
305 |
306 |
307 |
308 |
309 |
310 |
311 |
312 |
313 |
314 |
315 |
316 |
317 |
318 |
319 |
320 |
321 |
322 |
323 |
324 |
325 |
326 |
327 |
328 |
329 |
330 |
331 |
332 |
333 |
334 |
335 |
336 |
337 |
338 |
339 |
340 |
341 |
342 |
343 |
344 |
345 |
346 |
347 |
348 |
349 |
350 |
351 |
352 |
353 |
354 |
355 |
356 |
357 |
358 |
359 |
360 |
361 |
362 |
363 |
364 |
365 |
366 |
367 |
368 | Must set javac.includes
369 |
370 |
371 |
372 |
373 |
374 |
375 |
376 |
377 |
378 |
379 |
380 |
381 |
382 |
383 |
384 |
385 |
386 |
387 |
388 |
389 |
390 |
391 |
392 |
393 |
394 |
395 |
396 |
397 |
398 |
399 |
400 |
401 |
402 |
403 |
404 |
405 |
406 |
407 |
408 |
409 |
410 |
411 |
412 |
413 |
414 |
415 |
416 |
417 |
418 |
419 |
420 |
421 |
422 |
423 |
424 |
425 |
426 |
427 |
428 |
429 |
430 |
431 |
432 |
433 |
434 |
435 |
436 |
437 |
438 |
439 |
440 |
441 |
442 |
443 |
444 |
445 |
446 |
447 |
448 |
449 |
450 |
451 |
452 |
453 |
454 |
455 |
456 |
457 |
458 |
459 |
460 |
461 |
462 |
463 |
464 |
465 |
466 |
467 |
468 |
469 |
470 |
471 |
472 |
473 |
474 |
475 |
476 |
477 |
478 |
479 |
480 |
481 |
482 |
483 |
484 |
485 |
486 |
487 |
488 |
489 |
490 |
491 |
492 |
493 |
494 |
495 |
496 |
497 | No tests executed.
498 |
499 |
500 |
501 |
502 |
503 |
504 |
505 |
506 |
507 |
508 |
509 |
510 |
511 |
512 |
513 |
514 |
515 |
516 |
517 |
518 |
519 |
520 |
521 |
522 |
523 |
524 |
525 |
526 |
527 |
528 |
529 |
530 |
531 |
532 |
533 |
534 |
535 |
536 |
537 |
538 |
539 |
540 |
541 |
542 |
543 |
544 |
545 |
546 |
547 |
548 |
549 |
550 |
551 |
552 |
553 |
554 |
555 |
556 |
557 |
558 |
559 |
560 |
561 |
562 |
563 |
564 |
565 |
566 |
567 |
568 |
569 |
570 |
571 |
572 |
573 |
574 |
575 |
576 |
577 |
578 |
579 |
580 |
581 |
582 |
583 |
584 |
585 |
586 |
587 |
588 |
589 |
590 |
591 |
592 |
593 |
594 |
595 |
596 |
597 |
598 |
599 |
600 |
601 |
602 |
603 |
604 |
605 |
606 |
607 |
608 |
609 |
610 |
611 |
612 |
613 |
614 |
615 |
616 |
617 |
618 |
619 |
620 |
621 |
622 |
623 |
624 |
625 |
626 |
627 |
628 |
629 |
630 |
631 |
632 |
633 |
634 |
635 |
636 |
637 |
638 |
639 |
640 |
641 |
642 |
643 |
644 |
645 |
646 |
647 |
648 |
649 |
650 |
651 |
652 |
653 |
654 |
655 |
656 |
657 |
658 |
659 |
660 |
661 |
662 |
663 |
664 |
665 |
666 |
667 |
668 |
669 |
670 |
671 |
672 |
673 |
674 |
675 |
676 |
677 |
678 |
679 |
680 |
681 |
682 |
683 |
684 |
685 |
686 |
687 |
688 |
689 |
690 |
691 |
692 |
693 |
694 |
695 |
696 |
697 |
698 |
699 |
700 |
701 |
702 |
705 |
706 |
707 |
708 |
709 |
710 |
711 |
712 |
713 |
714 |
715 |
716 |
717 |
718 |
719 |
720 |
721 |
722 |
723 |
724 |
725 |
726 |
727 |
728 |
729 |
730 |
731 |
732 |
733 |
734 |
735 |
736 |
737 |
738 |
739 |
740 |
741 |
742 |
743 |
744 |
745 |
746 |
747 | Must set JVM to use for profiling in profiler.info.jvm
748 | Must set profiler agent JVM arguments in profiler.info.jvmargs.agent
749 |
750 |
753 |
754 |
755 |
756 |
757 |
758 |
759 |
760 |
761 |
762 |
763 |
764 |
765 |
766 |
767 |
768 |
769 |
770 |
771 |
772 |
773 |
774 |
775 |
776 |
777 |
778 |
779 |
780 |
781 |
782 |
783 |
784 |
785 |
786 |
787 |
788 |
789 |
790 |
791 |
792 |
793 |
794 |
795 |
796 |
797 |
798 |
799 |
800 |
801 |
802 |
803 |
804 |
805 |
806 |
807 |
808 |
809 |
810 |
811 |
812 |
813 |
814 |
815 |
816 |
817 |
818 |
819 |
820 |
821 |
822 |
823 |
824 |
825 |
826 |
827 |
828 |
829 |
830 |
831 |
832 |
833 |
834 |
835 |
836 |
837 |
838 |
839 |
840 |
841 |
842 |
843 |
844 |
845 |
846 |
847 |
848 |
849 |
850 |
851 |
852 |
853 |
854 |
855 |
856 |
857 |
858 |
859 |
860 |
861 |
862 |
863 |
864 |
865 |
866 |
867 |
868 |
869 |
870 |
871 |
872 |
873 |
874 |
875 |
876 |
877 |
878 |
879 |
880 |
881 |
882 |
883 |
884 |
885 |
886 |
887 |
888 |
889 |
890 |
891 |
892 |
893 |
894 |
895 |
896 |
897 |
898 |
899 |
900 |
901 |
902 |
903 |
904 |
905 |
906 |
907 |
908 |
909 |
910 |
911 |
912 |
913 |
914 |
915 |
916 |
921 |
922 |
923 |
924 |
925 |
926 |
927 |
928 |
929 |
930 |
931 |
932 |
933 |
934 |
935 |
936 |
937 |
938 |
939 |
940 |
941 |
942 |
943 |
944 |
945 |
946 |
947 |
948 |
949 |
950 |
951 |
952 |
953 |
954 |
955 |
956 |
957 |
958 |
959 |
960 |
961 |
962 |
963 |
964 |
965 |
966 |
967 |
968 |
969 |
970 |
971 |
972 |
973 |
974 |
975 |
976 |
977 |
978 |
979 |
980 |
981 | Must select some files in the IDE or set javac.includes
982 |
983 |
984 |
985 |
986 |
987 |
988 |
989 |
990 |
995 |
996 |
997 |
998 |
999 |
1000 |
1001 |
1002 |
1003 |
1004 |
1005 |
1006 |
1007 |
1008 |
1009 |
1010 |
1011 |
1012 |
1013 |
1014 |
1015 | To run this application from the command line without Ant, try:
1016 |
1017 |
1018 |
1019 |
1020 |
1021 |
1022 | ${platform.java} -cp "${run.classpath.with.dist.jar}" ${main.class}
1023 |
1024 |
1025 |
1026 |
1027 |
1028 |
1029 |
1030 |
1031 |
1032 |
1033 |
1034 |
1035 |
1036 |
1037 |
1038 |
1039 |
1040 |
1041 |
1042 |
1043 |
1044 |
1045 |
1046 |
1047 | To run this application from the command line without Ant, try:
1048 |
1049 | ${platform.java} -jar "${dist.jar.resolved}"
1050 |
1051 |
1052 |
1053 |
1054 |
1055 |
1056 |
1057 |
1058 |
1059 |
1060 |
1061 |
1062 |
1067 |
1068 |
1069 |
1070 |
1071 |
1072 |
1073 |
1074 |
1075 |
1076 |
1077 |
1078 | Must select one file in the IDE or set run.class
1079 |
1080 |
1081 |
1082 | Must select one file in the IDE or set run.class
1083 |
1084 |
1085 |
1090 |
1091 |
1092 |
1093 |
1094 |
1095 |
1096 |
1097 |
1098 |
1099 |
1100 |
1101 |
1102 |
1103 |
1104 |
1105 |
1106 |
1107 |
1108 |
1109 | Must select one file in the IDE or set debug.class
1110 |
1111 |
1112 |
1113 |
1114 | Must select one file in the IDE or set debug.class
1115 |
1116 |
1117 |
1118 |
1119 | Must set fix.includes
1120 |
1121 |
1122 |
1123 |
1124 |
1125 |
1126 |
1131 |
1134 |
1135 | This target only works when run from inside the NetBeans IDE.
1136 |
1137 |
1138 |
1139 |
1140 |
1141 |
1142 |
1143 |
1144 | Must select one file in the IDE or set profile.class
1145 | This target only works when run from inside the NetBeans IDE.
1146 |
1147 |
1148 |
1149 |
1150 |
1151 |
1152 |
1153 |
1154 | This target only works when run from inside the NetBeans IDE.
1155 |
1156 |
1157 |
1158 |
1159 |
1160 |
1161 |
1162 |
1163 |
1164 |
1165 |
1166 |
1167 | This target only works when run from inside the NetBeans IDE.
1168 |
1169 |
1170 |
1171 |
1172 |
1173 |
1174 |
1175 |
1176 |
1177 |
1178 |
1179 |
1180 |
1181 |
1182 |
1183 |
1184 |
1185 |
1186 |
1187 |
1188 |
1189 |
1192 |
1193 |
1194 |
1195 |
1196 |
1197 |
1198 |
1199 |
1200 |
1201 |
1202 |
1203 |
1204 |
1205 | Must select one file in the IDE or set run.class
1206 |
1207 |
1208 |
1209 |
1210 |
1211 | Must select some files in the IDE or set test.includes
1212 |
1213 |
1214 |
1215 |
1216 | Must select one file in the IDE or set run.class
1217 |
1218 |
1219 |
1220 |
1221 | Must select one file in the IDE or set applet.url
1222 |
1223 |
1224 |
1225 |
1230 |
1231 |
1232 |
1233 |
1234 |
1235 |
1236 |
1237 |
1238 |
1239 |
1240 |
1241 |
1242 |
1243 |
1244 |
1245 |
1246 |
1247 |
1248 |
1249 |
1250 |
1251 |
1252 |
1253 |
1254 |
1255 |
1256 |
1257 |
1258 |
1259 |
1260 |
1261 |
1262 |
1263 |
1264 |
1265 |
1266 |
1271 |
1272 |
1273 |
1274 |
1275 |
1276 |
1277 |
1278 |
1279 |
1280 |
1281 |
1282 |
1283 |
1284 |
1285 |
1286 |
1287 |
1288 |
1289 |
1290 |
1291 |
1292 |
1293 |
1294 |
1295 |
1296 |
1297 | Must select some files in the IDE or set javac.includes
1298 |
1299 |
1300 |
1301 |
1302 |
1303 |
1304 |
1305 |
1306 |
1307 |
1308 |
1309 |
1314 |
1315 |
1316 |
1317 |
1318 |
1319 |
1320 |
1321 | Some tests failed; see details above.
1322 |
1323 |
1324 |
1325 |
1326 |
1327 |
1328 |
1329 |
1330 | Must select some files in the IDE or set test.includes
1331 |
1332 |
1333 |
1334 | Some tests failed; see details above.
1335 |
1336 |
1337 |
1338 | Must select some files in the IDE or set test.class
1339 | Must select some method in the IDE or set test.method
1340 |
1341 |
1342 |
1343 | Some tests failed; see details above.
1344 |
1345 |
1346 |
1351 |
1352 | Must select one file in the IDE or set test.class
1353 |
1354 |
1355 |
1356 | Must select one file in the IDE or set test.class
1357 | Must select some method in the IDE or set test.method
1358 |
1359 |
1360 |
1361 |
1362 |
1363 |
1364 |
1365 |
1366 |
1367 |
1368 |
1369 |
1374 |
1375 | Must select one file in the IDE or set applet.url
1376 |
1377 |
1378 |
1379 |
1380 |
1381 |
1382 |
1387 |
1388 | Must select one file in the IDE or set applet.url
1389 |
1390 |
1391 |
1392 |
1393 |
1394 |
1395 |
1396 |
1401 |
1402 |
1403 |
1404 |
1405 |
1406 |
1407 |
1408 |
1409 |
1410 |
1411 |
1412 |
1413 |
1414 |
1415 |
1416 |
1417 |
1418 |
1419 |
1420 |
1421 |
1422 |
1423 |
1424 |
1425 |
1426 |
1427 |
1428 |
1429 |
1430 |
1431 |
1432 |
1433 |
1434 |
1435 |
1436 |
1437 |
1438 |
1439 |
1440 |
1441 |
1442 |
1443 |
1444 |
1445 |
1446 |
--------------------------------------------------------------------------------
/nbproject/configs/Run_as_WebStart.properties:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/privatejava/javafx-listview-animation/d882be2d1d6e53e009fbba0cac44ecddca18305f/nbproject/configs/Run_as_WebStart.properties
--------------------------------------------------------------------------------
/nbproject/configs/Run_in_Browser.properties:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/privatejava/javafx-listview-animation/d882be2d1d6e53e009fbba0cac44ecddca18305f/nbproject/configs/Run_in_Browser.properties
--------------------------------------------------------------------------------
/nbproject/genfiles.properties:
--------------------------------------------------------------------------------
1 | build.xml.data.CRC32=93ff792b
2 | build.xml.script.CRC32=dfd08ab5
3 | build.xml.stylesheet.CRC32=28e38971@1.56.1.46
4 | # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
5 | # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
6 | nbproject/build-impl.xml.data.CRC32=93ff792b
7 | nbproject/build-impl.xml.script.CRC32=301375db
8 | nbproject/build-impl.xml.stylesheet.CRC32=c6d2a60f@1.56.1.46
9 |
--------------------------------------------------------------------------------
/nbproject/private/configs/Run_as_WebStart.properties:
--------------------------------------------------------------------------------
1 | # Do not modify this property in this configuration. It can be re-generated.
2 | $label=Run as WebStart
3 | # Do not modify this property in this configuration. It can be re-generated.
4 | javafx.run.as=webstart
5 |
--------------------------------------------------------------------------------
/nbproject/private/configs/Run_in_Browser.properties:
--------------------------------------------------------------------------------
1 | # Do not modify this property in this configuration. It can be re-generated.
2 | $label=Run in Browser
3 | # Do not modify this property in this configuration. It can be re-generated.
4 | javafx.run.as=embedded
5 |
--------------------------------------------------------------------------------
/nbproject/private/private.properties:
--------------------------------------------------------------------------------
1 | auxiliary.org-netbeans-modules-projectapi.issue214819_5f_fx_5f_enabled=true
2 | compile.on.save=true
3 | do.depend=false
4 | do.jar=true
5 | # No need to modify this property unless customizing JavaFX Ant task infrastructure
6 | endorsed.javafx.ant.classpath=.
7 | javac.debug=true
8 | javadoc.preview=true
9 | javafx.run.as=embedded
10 | javafx.run.inbrowser=
11 | javafx.run.inbrowser.path=C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe
12 | javafx.signing.keyalias.password=
13 | javafx.signing.keystore.password=
14 | user.properties.file=C:\\Users\\Lenovo\\AppData\\Roaming\\NetBeans\\7.3\\build.properties
15 |
--------------------------------------------------------------------------------
/nbproject/private/retriever/catalog.xml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/privatejava/javafx-listview-animation/d882be2d1d6e53e009fbba0cac44ecddca18305f/nbproject/private/retriever/catalog.xml
--------------------------------------------------------------------------------
/nbproject/project.properties:
--------------------------------------------------------------------------------
1 | annotation.processing.enabled=true
2 | annotation.processing.enabled.in.editor=false
3 | annotation.processing.processors.list=
4 | annotation.processing.run.all.processors=true
5 | annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output
6 | application.title=ListViewAnimation
7 | application.vendor=Lenovo
8 | build.classes.dir=${build.dir}/classes
9 | build.classes.excludes=**/*.java,**/*.form
10 | # This directory is removed when the project is cleaned:
11 | build.dir=build
12 | build.generated.dir=${build.dir}/generated
13 | build.generated.sources.dir=${build.dir}/generated-sources
14 | # Only compile against the classpath explicitly listed here:
15 | build.sysclasspath=ignore
16 | build.test.classes.dir=${build.dir}/test/classes
17 | build.test.results.dir=${build.dir}/test/results
18 | compile.on.save=true
19 | compile.on.save.unsupported.javafx=true
20 | # Uncomment to specify the preferred debugger connection transport:
21 | #debug.transport=dt_socket
22 | debug.classpath=\
23 | ${run.classpath}
24 | debug.test.classpath=\
25 | ${run.test.classpath}
26 | # This directory is removed when the project is cleaned:
27 | dist.dir=dist
28 | dist.jar=${dist.dir}/ListViewAnimation.jar
29 | dist.javadoc.dir=${dist.dir}/javadoc
30 | endorsed.classpath=
31 | excludes=
32 | includes=**
33 | # Non-JavaFX jar file creation is deactivated in JavaFX 2.0+ projects
34 | jar.archive.disabled=true
35 | jar.compress=true
36 | javac.classpath=\
37 | ${javafx.runtime}/lib/jfxrt.jar:\
38 | ${javafx.runtime}/lib/deploy.jar:\
39 | ${javafx.runtime}/lib/javaws.jar:\
40 | ${javafx.runtime}/lib/plugin.jar
41 | # Space-separated list of extra javac options
42 | javac.compilerargs=
43 | javac.deprecation=false
44 | javac.processorpath=\
45 | ${javac.classpath}
46 | javac.source=1.7
47 | javac.target=1.7
48 | javac.test.classpath=\
49 | ${javac.classpath}:\
50 | ${build.classes.dir}:\
51 | ${libs.junit_4.classpath}
52 | javac.test.processorpath=\
53 | ${javac.test.classpath}
54 | javadoc.additionalparam=
55 | javadoc.author=false
56 | javadoc.encoding=${source.encoding}
57 | javadoc.noindex=false
58 | javadoc.nonavbar=false
59 | javadoc.notree=false
60 | javadoc.private=false
61 | javadoc.splitindex=true
62 | javadoc.use=true
63 | javadoc.version=false
64 | javadoc.windowtitle=
65 | javafx.binarycss=false
66 | javafx.deploy.adddesktopshortcut=false
67 | javafx.deploy.addstartmenushortcut=false
68 | javafx.deploy.allowoffline=true
69 | # If true, application update mode is set to 'background', if false, update mode is set to 'eager'
70 | javafx.deploy.backgroundupdate=false
71 | javafx.deploy.embedJNLP=true
72 | javafx.deploy.includeDT=true
73 | javafx.deploy.installpermanently=false
74 | javafx.deploy.permissionselevated=true
75 | # Set true to prevent creation of temporary copy of deployment artifacts before each run (disables concurrent runs)
76 | javafx.disable.concurrent.runs=false
77 | # Set true to enable multiple concurrent runs of the same WebStart or Run-in-Browser project
78 | javafx.enable.concurrent.external.runs=false
79 | # This is a JavaFX project
80 | javafx.enabled=true
81 | javafx.fallback.class=com.javafx.main.NoJavaFXFallback
82 | # Main class for JavaFX
83 | javafx.main.class=np.com.ngopal.ListViewAnimation
84 | javafx.native.bundling.enabled=true
85 | javafx.native.bundling.type=installer
86 | javafx.preloader.class=
87 | # This project does not use Preloader
88 | javafx.preloader.enabled=false
89 | javafx.preloader.jar.filename=
90 | javafx.preloader.jar.path=
91 | javafx.preloader.project.path=
92 | javafx.preloader.type=none
93 | # Set true for GlassFish only. Rebases manifest classpaths of JARs in lib dir. Not usable with signed JARs.
94 | javafx.rebase.libs=false
95 | javafx.run.height=600
96 | javafx.run.width=800
97 | javafx.runtime=${platforms.Default_JavaFX_Platform.javafx.runtime.home}
98 | javafx.sdk=${platforms.Default_JavaFX_Platform.javafx.sdk.home}
99 | javafx.signing.enabled=true
100 | javafx.signing.keyalias=
101 | javafx.signing.keystore=
102 | javafx.signing.type=self
103 | # Pre-JavaFX 2.0 WebStart is deactivated in JavaFX 2.0+ projects
104 | jnlp.enabled=false
105 | # Main class for Java launcher
106 | main.class=com.javafx.main.Main
107 | manifest.file=manifest.mf
108 | meta.inf.dir=${src.dir}/META-INF
109 | mkdist.disabled=false
110 | platform.active=Default_JavaFX_Platform
111 | run.classpath=\
112 | ${dist.jar}:\
113 | ${javac.classpath}
114 | run.test.classpath=\
115 | ${javac.test.classpath}:\
116 | ${build.test.classes.dir}
117 | source.encoding=UTF-8
118 | src.dir=src
119 | test.src.dir=test
120 |
--------------------------------------------------------------------------------
/nbproject/project.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | org.netbeans.modules.java.j2seproject
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 | ListViewAnimation
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/src/np/com/ngopal/ListViewAnimation.java:
--------------------------------------------------------------------------------
1 | package np.com.ngopal;
2 | /*
3 | * To change this template, choose Tools | Templates
4 | * and open the template in the editor.
5 | */
6 |
7 | import javafx.application.Application;
8 | import javafx.beans.value.ChangeListener;
9 | import javafx.beans.value.ObservableValue;
10 | import javafx.collections.FXCollections;
11 | import javafx.collections.ObservableList;
12 | import javafx.event.ActionEvent;
13 | import javafx.event.EventHandler;
14 | import javafx.scene.PerspectiveCamera;
15 | import javafx.scene.Scene;
16 | import javafx.scene.control.Button;
17 | import javafx.scene.control.ComboBox;
18 | import javafx.scene.control.Label;
19 | import javafx.scene.control.ListView;
20 | import javafx.scene.layout.AnchorPane;
21 | import javafx.scene.layout.HBox;
22 | import javafx.scene.text.Font;
23 | import javafx.stage.Stage;
24 | import np.com.ngopal.animation.AnimationType;
25 | import np.com.ngopal.control.cell.AnimatedListCell;
26 |
27 | /**
28 | *
29 | * @author Narayan G. Maharjan
30 | */
31 | public class ListViewAnimation extends Application {
32 | ObservableList list = FXCollections.observableArrayList();
33 |
34 | ListView listView;
35 |
36 | ComboBox box;
37 |
38 | HBox hbox;
39 |
40 | AnchorPane root;
41 |
42 | Button btn;
43 |
44 | /**
45 | * For initializing Containers
46 | */
47 | public void initContainers() {
48 | root = new AnchorPane();
49 | hbox = new HBox(10);
50 |
51 | AnchorPane.setBottomAnchor(listView, 50d);
52 | AnchorPane.setTopAnchor(listView, 10d);
53 | AnchorPane.setLeftAnchor(listView, 10d);
54 | AnchorPane.setRightAnchor(listView, 10d);
55 | AnchorPane.setBottomAnchor(hbox, 10d);
56 | AnchorPane.setLeftAnchor(hbox, 10d);
57 | }
58 |
59 | /**
60 | * For initializing controls
61 | */
62 | public void initControls() {
63 | listView = new ListView<>();
64 | listView.setCellFactory(AnimatedListCell.forListView(AnimationType.ROTATE_RIGHT, AnimationType.FADE_OUT));
65 |
66 |
67 | box = new ComboBox<>();
68 | box.valueProperty().addListener(new ChangeListener() {
69 | @Override
70 | public void changed(
71 | ObservableValue extends AnimationType> ov, AnimationType t, AnimationType t1) {
72 | if (!t1.equals(t)) {
73 | listView.setCellFactory(AnimatedListCell.forListView(t1));
74 | }
75 | }
76 | });
77 |
78 | btn = new Button("Add New");
79 | btn.setOnAction(new EventHandler() {
80 | @Override
81 | public void handle(ActionEvent event) {
82 | list.add("Added New");
83 | }
84 | });
85 |
86 |
87 | }
88 |
89 | @Override
90 | public void start(Stage stage) throws Exception {
91 | //Loading custom fonts
92 | Font.loadFont(getClass().getResource("fonts/segoesc.ttf").toExternalForm(), 12);
93 |
94 | //adding values to list
95 | for (int i = 0; i < 10; i++) {
96 | list.add("" + i);
97 | }
98 |
99 | //Initializing Controls
100 | initControls();
101 | initContainers();
102 |
103 | //Adding Values
104 | listView.setItems(list);
105 | box.getItems().addAll(AnimationType.values());
106 |
107 | //Adding controls to container
108 | hbox.getChildren().addAll(new Label("Animation Type:"), box, btn);
109 | root.getChildren().addAll(listView, hbox);
110 |
111 | Scene scene = new Scene(root);
112 | scene.getStylesheets().add(getClass().getResource("css/style.css").toExternalForm());
113 | scene.setCamera(new PerspectiveCamera());
114 | stage.setTitle("List Animation!");
115 | stage.setScene(scene);
116 | stage.show();
117 |
118 | }
119 |
120 | public static void main(String[] args) {
121 | launch(args);
122 | }
123 | }
124 |
--------------------------------------------------------------------------------
/src/np/com/ngopal/animation/AnimationPack.java:
--------------------------------------------------------------------------------
1 | package np.com.ngopal.animation;
2 |
3 | import java.util.ArrayList;
4 | import java.util.Arrays;
5 | import java.util.List;
6 | import javafx.animation.Interpolator;
7 | import javafx.animation.KeyFrame;
8 | import javafx.animation.KeyValue;
9 | import javafx.animation.Timeline;
10 | import javafx.collections.ObservableList;
11 | import javafx.scene.Node;
12 | import javafx.scene.control.Cell;
13 | import javafx.scene.control.ListCell;
14 | import javafx.scene.control.ListView;
15 | import javafx.scene.transform.Rotate;
16 | import javafx.scene.transform.Shear;
17 | import javafx.util.Duration;
18 | /*
19 | * To change this template, choose Tools | Templates
20 | * and open the template in the editor.
21 | */
22 |
23 | /**
24 | *
25 | * @author Narayan G. Maharjan
26 | * Created on Sep 6, 2013, 10:11:08 PM
27 | */
28 | public class AnimationPack {
29 | public Node node;
30 |
31 | final Timeline ti = new Timeline();
32 |
33 | final Timeline rti = new Timeline();
34 |
35 | public int animDuration = 600;
36 |
37 | public Shear sh;
38 |
39 | public Rotate rotate;
40 |
41 | public AnimationPack(Node n) {
42 | node = n;
43 | }
44 |
45 | public ListView getListView() {
46 | if (node instanceof ListCell) {
47 | return ((ListCell)node).getListView();
48 | }
49 | return null;
50 | }
51 |
52 | public Cell getCell() {
53 | try {
54 | return (Cell)node;
55 | } catch (ClassCastException cce) {
56 | System.out.println(cce);
57 | return null;
58 | }
59 |
60 |
61 | }
62 |
63 | public KeyFrame[] getFlatternOut(KeyFrame... k) {
64 | return new KeyFrame[]{
65 | new KeyFrame(Duration.millis(0), new KeyValue(node.scaleXProperty(), 0)),
66 | new KeyFrame(Duration.millis(0), new KeyValue(node.scaleYProperty(), 0.9)),
67 | new KeyFrame(Duration.millis(animDuration * 0.4), new KeyValue(node.scaleXProperty(), 0.001)),
68 | new KeyFrame(Duration.millis(animDuration * 0.6),
69 | new KeyValue(node.scaleXProperty(), 1.2, Interpolator.EASE_BOTH)),
70 | new KeyFrame(Duration.millis(animDuration), new KeyValue(node.scaleYProperty(), 1)),
71 | new KeyFrame(Duration.millis(animDuration), new KeyValue(node.scaleXProperty(), 1, Interpolator.EASE_BOTH))};
72 |
73 | }
74 |
75 | public KeyFrame[] getPopOut(KeyFrame... k) {
76 | if (rotate == null) {
77 | rotate = new Rotate();
78 | rotate.setAxis(Rotate.Y_AXIS);
79 | rotate.pivotYProperty().bind(getCell().heightProperty().divide(2));
80 | node.getTransforms().add(rotate);
81 | }
82 | return new KeyFrame[]{
83 | new KeyFrame(Duration.millis(0), new KeyValue(node.scaleXProperty(), 0.4, Interpolator.EASE_BOTH)),
84 | new KeyFrame(Duration.millis(0), new KeyValue(node.scaleYProperty(), 0.4, Interpolator.EASE_BOTH)),
85 | new KeyFrame(Duration.millis(animDuration * 0.8),
86 | new KeyValue(node.scaleXProperty(), 1.3, Interpolator.EASE_BOTH)),
87 | new KeyFrame(Duration.millis(animDuration * 0.8),
88 | new KeyValue(node.scaleYProperty(), 1.3, Interpolator.EASE_BOTH)),
89 | new KeyFrame(Duration.millis(animDuration), new KeyValue(node.scaleXProperty(), 1, Interpolator.EASE_BOTH)),
90 | new KeyFrame(Duration.millis(animDuration), new KeyValue(node.scaleYProperty(), 1, Interpolator.EASE_BOTH)),};
91 | // new KeyFrame(Duration.millis(0), new KeyValue(rotate.angleProperty(), -90, Interpolator.EASE_BOTH)),
92 | // new KeyFrame(Duration.millis(0), new KeyValue(rotate.pivotZProperty(), -90, Interpolator.EASE_BOTH)),
93 | // new KeyFrame(Duration.millis(animDuration), new KeyValue(rotate.angleProperty(), 0, Interpolator.EASE_IN)),};
94 |
95 | }
96 |
97 | public KeyFrame[] getFlapRight(KeyFrame... k) {
98 | rotate = new Rotate();
99 | rotate.setAxis(Rotate.Y_AXIS);
100 | // rotate.pivotXProperty().bind(0);
101 | rotate.pivotYProperty().bind(getCell().heightProperty().divide(2));
102 | if (!node.getTransforms().contains(rotate)) {
103 | node.getTransforms().add(rotate);
104 | }
105 | return getZoomIn(0.9d, concat(k, new KeyFrame[]{
106 | new KeyFrame(Duration.millis(0), new KeyValue(rotate.angleProperty(), -90, Interpolator.EASE_BOTH)),
107 | // new KeyFrame(Duration.millis(0), new KeyValue(rotate.pivotZProperty(), -90, Interpolator.EASE_BOTH)),
108 | new KeyFrame(Duration.millis(animDuration), new KeyValue(rotate.angleProperty(), 0, Interpolator.EASE_IN)),}));
109 | }
110 |
111 | public KeyFrame[] getFlyFromUp(KeyFrame... k) {
112 | rotate = new Rotate();
113 | rotate.setAxis(Rotate.X_AXIS);
114 | rotate.pivotXProperty().bind(getCell().widthProperty().divide(2));
115 | rotate.pivotYProperty().bind(getCell().heightProperty().divide(2));
116 | if (!node.getTransforms().contains(rotate)) {
117 | node.getTransforms().add(rotate);
118 | }
119 |
120 | return getZoomIn(0.7d, concat(k, new KeyFrame[]{
121 | new KeyFrame(Duration.millis(0), new KeyValue(rotate.angleProperty(), 90, Interpolator.EASE_BOTH)),
122 | new KeyFrame(Duration.millis(0), new KeyValue(node.translateYProperty(),
123 | -getCell().prefHeightProperty().get(),
124 | Interpolator.EASE_BOTH)),
125 | new KeyFrame(Duration.millis(0), new KeyValue(rotate.pivotZProperty(), 90, Interpolator.EASE_BOTH)),
126 | new KeyFrame(Duration.millis(animDuration), new KeyValue(rotate.angleProperty(), 0, Interpolator.EASE_IN)),
127 | new KeyFrame(Duration.millis(animDuration), new KeyValue(node.translateYProperty(), 0,
128 | Interpolator.EASE_BOTH)),
129 | new KeyFrame(Duration.millis(animDuration), new KeyValue(rotate.pivotZProperty(), 0, Interpolator.EASE_IN)),}));
130 | }
131 |
132 | public KeyFrame[] getFlyFromDown(KeyFrame... k) {
133 | rotate = new Rotate();
134 | rotate.setAxis(Rotate.X_AXIS);
135 | // rotate.setPivotZ(-50);
136 | rotate.pivotXProperty().bind(getCell().widthProperty().divide(2));
137 | rotate.pivotYProperty().bind(getCell().heightProperty().divide(2));
138 | if (!node.getTransforms().contains(rotate)) {
139 | node.getTransforms().add(rotate);
140 | }
141 | return getZoomIn(0.7d, concat(k, new KeyFrame[]{
142 | new KeyFrame(Duration.millis(0), new KeyValue(rotate.angleProperty(), -90, Interpolator.EASE_BOTH)),
143 | new KeyFrame(Duration.millis(0), new KeyValue(rotate.pivotZProperty(), -90, Interpolator.EASE_BOTH)),
144 | new KeyFrame(Duration.millis(animDuration), new KeyValue(rotate.angleProperty(), 0, Interpolator.EASE_IN)),
145 | new KeyFrame(Duration.millis(animDuration), new KeyValue(rotate.pivotZProperty(), 0, Interpolator.EASE_IN)),}));
146 | }
147 |
148 | public KeyFrame[] getRotateYRight(KeyFrame... k) {
149 | rotate = new Rotate();
150 | rotate.setAxis(Rotate.Y_AXIS);
151 | rotate.pivotXProperty().bind(getCell().widthProperty().divide(2));
152 | rotate.pivotYProperty().bind(getCell().heightProperty().divide(2));
153 | if (!node.getTransforms().contains(rotate)) {
154 | node.getTransforms().add(rotate);
155 | }
156 | return getZoomIn(0.7d, concat(k, new KeyFrame[]{
157 | new KeyFrame(Duration.millis(0), new KeyValue(rotate.angleProperty(), -180)),
158 | new KeyFrame(Duration.millis(animDuration), new KeyValue(rotate.angleProperty(), 0)),}));
159 | }
160 |
161 | public KeyFrame[] getSpeedLeft(KeyFrame... k) {
162 |
163 | sh = new Shear();
164 | sh.setPivotX(100);
165 | sh.setPivotY(35);
166 | sh.setY(0);
167 |
168 | if (!node.getTransforms().contains(sh)) {
169 | node.getTransforms().add(sh);
170 | }
171 | return concat(k, getTransitionLeft(
172 | new KeyFrame(Duration.millis(0), new KeyValue(sh.xProperty(), -0.5, Interpolator.EASE_IN)),
173 | new KeyFrame(Duration.millis(animDuration), new KeyValue(sh.xProperty(), 0, Interpolator.EASE_OUT))));
174 | }
175 |
176 | public KeyFrame[] getSpeedRight(KeyFrame... k) {
177 |
178 |
179 |
180 | if (sh == null) {
181 | sh = new Shear();
182 | sh.setPivotX(100);
183 | sh.setPivotY(35);
184 | sh.setY(0);
185 | node.getTransforms().add(sh);
186 | }
187 |
188 | return concat(k, getTransitionRight(
189 | new KeyFrame(Duration.millis(0), new KeyValue(sh.xProperty(), 0.5)),
190 | new KeyFrame(Duration.millis(animDuration), new KeyValue(sh.xProperty(), 0))));
191 | }
192 |
193 | public KeyFrame[] getTransitionTop(KeyFrame... k) {
194 | return concat(k, new KeyFrame[]{
195 | new KeyFrame(Duration.millis(0),
196 | new KeyValue(node.translateYProperty(), Math.max(getCell().getHeight(), 50))),
197 | new KeyFrame(Duration.millis(animDuration), new KeyValue(node.translateYProperty(), 0)),});
198 | }
199 |
200 | public KeyFrame[] getTransitionDown(KeyFrame... k) {
201 | return new KeyFrame[]{
202 | new KeyFrame(Duration.millis(0), new KeyValue(node.translateYProperty(), Math.min(-getCell().getHeight(),
203 | -50))),
204 | new KeyFrame(Duration.millis(animDuration), new KeyValue(node.translateYProperty(), 0)),};
205 | }
206 |
207 | public KeyFrame[] getTransitionLeft(KeyFrame... k) {
208 | return concat(k, new KeyFrame[]{
209 | new KeyFrame(Duration.millis(0),
210 | new KeyValue(node.translateXProperty(), Math.max(getCell().getWidth(), 200))),
211 | new KeyFrame(Duration.millis(animDuration), new KeyValue(node.translateXProperty(), 0)),});
212 | }
213 |
214 | public KeyFrame[] getTransitionRight(KeyFrame... k) {
215 | return concat(k, new KeyFrame[]{
216 | new KeyFrame(Duration.millis(0), new KeyValue(node.translateXProperty(), Math.min(-getCell().getWidth(),
217 | -200))),
218 | new KeyFrame(Duration.millis(animDuration), new KeyValue(node.translateXProperty(), 0)),});
219 | }
220 |
221 | public KeyFrame[] getZoomIn(double from, KeyFrame... k) {
222 | return concat(k, new KeyFrame[]{
223 | new KeyFrame(Duration.millis(0), new KeyValue(node.scaleXProperty(), from)),
224 | new KeyFrame(Duration.millis(0), new KeyValue(node.scaleYProperty(), from)),
225 | new KeyFrame(Duration.millis(animDuration), new KeyValue(node.scaleXProperty(), 1)),
226 | new KeyFrame(Duration.millis(animDuration), new KeyValue(node.scaleYProperty(), 1)),});
227 | }
228 |
229 | public KeyFrame[] getFadeOut(KeyFrame... k) {
230 | return concat(k, new KeyFrame[]{
231 | new KeyFrame(Duration.millis(0), new KeyValue(node.opacityProperty(), 0)),
232 | new KeyFrame(Duration.millis(animDuration), new KeyValue(node.opacityProperty(), 1))
233 | });
234 | }
235 |
236 | public static T[] concat(T[] first, T[] second) {
237 | if (first == null && second != null) {
238 | return second;
239 | } else if (second == null && first != null) {
240 | return first;
241 | }
242 | T[] result = Arrays.copyOf(first, first.length + second.length);
243 | System.arraycopy(second, 0, result, first.length, second.length);
244 | return result;
245 | }
246 |
247 | public ObservableList getKeyFrames() {
248 | return ti.getKeyFrames();
249 | }
250 |
251 | public Timeline getTimeline() {
252 | return ti;
253 | }
254 |
255 | public Timeline getReversedTimeline() {
256 | Duration start = null;
257 | Duration end = null;
258 | for (KeyFrame f : ti.getKeyFrames()) {
259 | Duration dur = f.getTime();
260 | if (start == null && end == null) {
261 | start = end = dur;
262 | }
263 | if (dur.greaterThan(end)) {
264 | end = dur;
265 | }
266 | if (dur.lessThan(start)) {
267 | start = dur;
268 | }
269 | }
270 |
271 | for (KeyFrame f : ti.getKeyFrames()) {
272 | Duration dur = f.getTime();
273 | rti.getKeyFrames().add(new KeyFrame(
274 | Duration.millis((1 - (dur.toMillis() / end.toMillis())) * end.toMillis()), f.getValues().toArray(
275 | new KeyValue[f.getValues().size()])));
276 | }
277 |
278 | return rti;
279 | }
280 | }
281 |
--------------------------------------------------------------------------------
/src/np/com/ngopal/animation/AnimationType.java:
--------------------------------------------------------------------------------
1 | package np.com.ngopal.animation;
2 | /*
3 | * To change this template, choose Tools | Templates
4 | * and open the template in the editor.
5 | */
6 |
7 | /**
8 | *
9 | * @author Narayan G. Maharjan
10 | * Created on Sep 6, 2013, 7:42:12 PM
11 | */
12 | public enum AnimationType {
13 | FADE_OUT,
14 | FLAP_RIGHT,
15 | FLATTERN_OUT,
16 | FLY_FROM_DOWN,
17 | FLY_FROM_UP,
18 | ROTATE_RIGHT,
19 | SPEED_LEFT,
20 | SPEED_RIGHT,
21 | TRANSITION_DOWN,
22 | TRANSITION_LEFT,
23 | TRANSITION_RIGHT,
24 | TRANSITION_TOP,
25 | ZOOM_IN,
26 | POP_OUT;
27 |
28 | public String getName() {
29 | return toString();
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/src/np/com/ngopal/control/cell/AbstractAnimatedListCell.java:
--------------------------------------------------------------------------------
1 | /*
2 | * To change this template, choose Tools | Templates
3 | * and open the template in the editor.
4 | */
5 | package np.com.ngopal.control.cell;
6 |
7 | import javafx.animation.KeyFrame;
8 | import javafx.animation.Timeline;
9 | import javafx.beans.property.ObjectProperty;
10 | import javafx.scene.control.ListCell;
11 | import javafx.util.StringConverter;
12 | import np.com.ngopal.animation.AnimationPack;
13 | import np.com.ngopal.animation.AnimationType;
14 |
15 | /**
16 | *
17 | * @author Narayan G. Maharjan
18 | * Created on Sep 6, 2013, 9:45:01 PM
19 | */
20 | public abstract class AbstractAnimatedListCell extends ListCell {
21 | /**
22 | * For persisting oldIndex
23 | */
24 | protected static int oldIndex;
25 |
26 | protected AnimationType[] types;
27 |
28 | /**
29 | * Instance of AnimationPack
30 | */
31 | protected AnimationPack anim;
32 |
33 | public abstract ObjectProperty> converterProperty();
34 |
35 | public abstract StringConverter getConverter();
36 |
37 | protected abstract KeyFrame[] getKeyFrames(AnimationType[] types);
38 |
39 | private void animate() {
40 | if (anim != null && anim.getKeyFrames().size() >= 0
41 | && (anim.getTimeline().getStatus() == Timeline.Status.STOPPED
42 | || anim.getTimeline().getStatus() == Timeline.Status.PAUSED)) {
43 | anim.getTimeline().playFromStart();
44 | // if (oldIndex < getIndex() && Math.abs(oldIndex - getIndex()) == 1) {
45 | // anim.getTimeline().playFromStart();
46 | // }
47 | }
48 | }
49 |
50 | @Override
51 | protected void updateItem(T t, boolean bln) {
52 | //overriding the super interface
53 | super.updateItem(t, bln);
54 | if (t == null) {
55 | return;
56 | }
57 | if (converterProperty() != null && getConverter() != null) {
58 | setText(getConverter().toString(t));
59 | } else {
60 | setText(t.toString());
61 | }
62 | //Adding Animation to the ListCell
63 | anim = new AnimationPack(this);
64 | if (anim.getKeyFrames().size() == 0) {
65 | KeyFrame[] f = getKeyFrames(types);
66 |
67 | if (f != null) {
68 | anim.getKeyFrames().addAll(f);
69 | }
70 | }
71 | //Checking when to play Animation
72 | animate();
73 | // oldIndex = getIndex();
74 | }
75 | }
76 |
--------------------------------------------------------------------------------
/src/np/com/ngopal/control/cell/AnimatedListCell.java:
--------------------------------------------------------------------------------
1 | package np.com.ngopal.control.cell;
2 | /*
3 | * To change this template, choose Tools | Templates
4 | * and open the template in the editor.
5 | */
6 |
7 | import javafx.animation.KeyFrame;
8 | import javafx.beans.property.ObjectProperty;
9 | import javafx.beans.property.SimpleObjectProperty;
10 | import javafx.scene.control.ListCell;
11 | import javafx.scene.control.ListView;
12 | import javafx.util.Callback;
13 | import javafx.util.StringConverter;
14 | import javafx.util.converter.DefaultStringConverter;
15 | import np.com.ngopal.animation.AnimationType;
16 |
17 | /**
18 | *
19 | * @author Narayan G. Maharjan
20 | * Created on Sep 6, 2013, 9:45:01 PM
21 | */
22 | public class AnimatedListCell extends AbstractAnimatedListCell {
23 | private ObjectProperty> converter;
24 |
25 | public AnimatedListCell(StringConverter converter, AnimationType... types) {
26 | this.types = types;
27 | this.converter = new SimpleObjectProperty(this, "converter");
28 | this.getStyleClass().add("anim-list-cell");
29 | this.setConverter(converter);
30 | }
31 |
32 | public AnimatedListCell(AnimationType... types) {
33 | this(new DefaultStringConverter(), types);
34 | }
35 |
36 | @Override
37 | public ObjectProperty> converterProperty() {
38 | return converter;
39 | }
40 |
41 | @Override
42 | public final StringConverter getConverter() {
43 | return converter.get();
44 | }
45 |
46 | private void setConverter(
47 | StringConverter v) {
48 | converterProperty().set(v);
49 | }
50 |
51 | /**
52 | * Get cellfactory of AbstractAnimatedListCell for ListView
53 | *
54 | * @param type
55 | * @return
56 | */
57 | public static Callback, ListCell> forListView(final AnimationType... type) {
58 | return new Callback, ListCell>() {
59 | @Override
60 | public ListCell call(
61 | ListView p) {
62 | return new AnimatedListCell<>(new DefaultStringConverter(), type);
63 | }
64 | };
65 | }
66 |
67 | /**
68 | * Get cellfactory of AbstractAnimatedListCell for ListView with StringConverter
69 | *
70 | * @param
71 | * @param sc
72 | * @param type
73 | * @return
74 | */
75 | public static Callback, ListCell> forListView(
76 | final StringConverter sc, final AnimationType... type) {
77 | return new Callback, ListCell>() {
78 | @Override
79 | public ListCell call(
80 | ListView p) {
81 | return new AnimatedListCell<>(sc, type);
82 | }
83 | };
84 |
85 |
86 | }
87 |
88 | /**
89 | * For getting the KeyFrames of specific AnimationType
90 | *
91 | * @param types
92 | * @return
93 | */
94 | @Override
95 | protected KeyFrame[] getKeyFrames(AnimationType[] types) {
96 | if (types == null) {
97 | return null;
98 | }
99 | KeyFrame[] frames = null;
100 | for (AnimationType type : types) {
101 | switch (type) {
102 | case FADE_OUT:
103 | frames = anim.getFadeOut(frames);
104 | break;
105 | case FLAP_RIGHT:
106 | frames = anim.getFlapRight(frames);
107 | break;
108 | case FLATTERN_OUT:
109 | frames = anim.getFlatternOut(frames);
110 | break;
111 | case FLY_FROM_DOWN:
112 | frames = anim.getFlyFromDown(frames);
113 | break;
114 | case FLY_FROM_UP:
115 | frames = anim.getFlyFromUp(frames);
116 | break;
117 | case ROTATE_RIGHT:
118 | frames = anim.getRotateYRight(frames);
119 | break;
120 | case SPEED_LEFT:
121 | frames = anim.getSpeedLeft(frames);
122 | break;
123 | case SPEED_RIGHT:
124 | frames = anim.getSpeedRight(frames);
125 | break;
126 | case TRANSITION_DOWN:
127 | frames = anim.getTransitionDown(frames);
128 | break;
129 | case TRANSITION_LEFT:
130 | frames = anim.getTransitionLeft(frames);
131 | break;
132 | case TRANSITION_RIGHT:
133 | frames = anim.getTransitionRight(frames);
134 | break;
135 | case TRANSITION_TOP:
136 | frames = anim.getTransitionTop(frames);
137 | break;
138 | case ZOOM_IN:
139 | frames = anim.getZoomIn(0, frames);
140 | break;
141 | case POP_OUT:
142 | frames = anim.getPopOut(frames);
143 | break;
144 |
145 | }
146 | }
147 | return frames;
148 |
149 | }
150 |
151 | @Override
152 | protected void updateItem(T t, boolean bln) {
153 | //overriding the super interface
154 | super.updateItem(t, bln);
155 |
156 | }
157 | }
158 |
--------------------------------------------------------------------------------
/src/np/com/ngopal/css/style.css:
--------------------------------------------------------------------------------
1 | .anim-list-cell {
2 | -fx-font-size:45px;
3 | -fx-font-family: 'Segoe Script';
4 | }
5 | .anim-list-cell:selected,.anim-list-cell:selected:hover{
6 | -fx-border-color:linear-gradient(to bottom,transparent,rgb(22,22,22,1));
7 | -fx-border-width:2 2 2 10px;
8 | -fx-effect:innershadow( three-pass-box,#764b0c,30,0.3,0,0);
9 | }
10 | .anim-list-cell:hover{
11 | -fx-border-color:rgb(255,255,255,0.7);
12 | -fx-border-width:1 1 1 10px;
13 | }
14 | .anim-list-cell{
15 | -fx-background-image: url('../img/wooden.png') ,url('../img/gloss.png');
16 | -fx-background-repeat: repeat,no-repeat;
17 | -fx-background-position:left top;
18 | -fx-background-size: auto,100% 40%;
19 | }
20 | .anim-list-cell:odd{
21 |
22 | -fx-background-image: url('../img/wooden2.png') ,url('../img/gloss.png');
23 | -fx-background-repeat: repeat,no-repeat;
24 | }
25 |
--------------------------------------------------------------------------------
/src/np/com/ngopal/fonts/segoesc.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/privatejava/javafx-listview-animation/d882be2d1d6e53e009fbba0cac44ecddca18305f/src/np/com/ngopal/fonts/segoesc.ttf
--------------------------------------------------------------------------------
/src/np/com/ngopal/img/Thumbs.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/privatejava/javafx-listview-animation/d882be2d1d6e53e009fbba0cac44ecddca18305f/src/np/com/ngopal/img/Thumbs.db
--------------------------------------------------------------------------------
/src/np/com/ngopal/img/gloss.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/privatejava/javafx-listview-animation/d882be2d1d6e53e009fbba0cac44ecddca18305f/src/np/com/ngopal/img/gloss.png
--------------------------------------------------------------------------------
/src/np/com/ngopal/img/wooden.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/privatejava/javafx-listview-animation/d882be2d1d6e53e009fbba0cac44ecddca18305f/src/np/com/ngopal/img/wooden.png
--------------------------------------------------------------------------------
/src/np/com/ngopal/img/wooden2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/privatejava/javafx-listview-animation/d882be2d1d6e53e009fbba0cac44ecddca18305f/src/np/com/ngopal/img/wooden2.png
--------------------------------------------------------------------------------