The Source for Java Technology Collaboration

Home » java.net Forums » Java Desktop Technologies » SwingLabs

Thread: Finally cleaned incubator area (mattnathan) + Demos

Welcome, Guest Help
Login Login
Guest Settings Guest Settings
Reply to this Thread Reply to this Thread Search Forum Search Forum Back to Thread List Back to Thread List

Permlink Replies: 13 - Last Post: Oct 21, 2008 7:09 AM by: mac_systems
mattnathan

Posts: 94
Finally cleaned incubator area (mattnathan) + Demos
Posted: Oct 15, 2008 4:52 AM
  Click to reply to this thread Reply

Well, it took me long enough but I've finally finished cleaning my incubator space (well as much as I'm willing to do anyway) so that it is more modular and I can easily add new projects and demo's to it.

I've provided a dependency graph for both the API and All modules. To read it simply follow the lines, for example in the API modules JXClock, JXInspectionPane, JXSlider and JXTimeline all depend on ScalableIcons and ScalableIcons depends on JXEffectPanel, Core, JXComponent and ScalePolicy, it takes a little getting used to (well it did for me anyway ;)).

I've provided IDEA module and project files for the projects, sorry it's just IDEA but I don't have the time required to keep up to date with Netbeans and Eclipse projects.

I've also taken the time to create runnable demos for (nearly) all modules which can be run independently. Note that some of the demos are extremely simple and don't really show off what can be done. I'm hoping to expand them to be a bit more complete and ready for prime-time.

Anyway here's a list of them all:

Components:
JXClock - A simple clock in a graphical way.
JXStopwatch - Based on the clock but adds stop watch functionality (requires console open to see the results).
JXInspectionPane - Windows Vista style details panel (the bottom bit in the demo), supports multiple selections (see StackPolicy Compound Icon demo)
JXTitledSeparator - JXComponent implementation of JXTitledSeparator
JXTransitionPanel - Apply effects over time to move between screens

Painters:
LensFlarePainter - A painter that acts like the lens-flare of a camera.

Effects - Real-time effects applied to the painting stack, in real time (note: this only affects the painting not the mouse event coordinates):
BlurEffect - Apply blur to the component
ColorFilterEffect - Apply colour filter to the component
MaskEffect - Apply mask to the component
RotationEffect - Apply rotation to the component
ScaleEffect - Apply scale to the component
ShearEffect - Apply shear to the component
TranslucentEffect - Apply translucency to the component
RippleEffect - Apply ripple to the component
ParallelEffect - Apply effects in parallel to the component
SerialEffect - Apply effects in serial to the component
ShadowEffect - Apply shadow to the component
ReflectionEffect - Apply reflection to the component
MouseShadowEffect - Apply a shadow to the component as if the mouse was a light (doesn't work quite as expected)

Icons - Scalable icon implementation (sorry lame demos, I did have better ones but I've lost them :()
Temp Icon - Simple icon for testing purposes
Card Icon - An icon made up of card, like CardLayout. Good for animation
Clip Icon - An icon that clips the source. Useful for providing single images which contain multiple icons (i.e. multiple states, or animation)
Effect Icon - An icon that has an effect (same effect as in effects demos) applied to it
Default Scalable Icon - Scalable icon that supports different icons at different sizes and provides lazy loading if required.
OverlayPolicy Compound Icon - Compose icons on top of each other
GridPolicy Compound Icon - Compose icons in a grid
PilePolicy Compound Icon - Compose icons in a pile
StackPolicy Compound Icon - Compose icons in a stack

Misc:
RolloverManager - Provide roll-over support to any component


There were a few more demos that I didn't think were ready and I hope to improve on the Icon demos over time as they seem like the weakest to me.

What I'd really like is for people to see these demos and say 'hey I'd like that' and then I can work towards getting the code reviewed and maybe into SwingX core or another project if that's where it ends up.

Anyway, thanks for listening :)

Matt

mac_systems

Posts: 43
Re: Finally cleaned incubator area (mattnathan) + Demos
Posted: Oct 15, 2008 7:52 AM   in response to: mattnathan
  Click to reply to this thread Reply

Hello,

just tried one Demo:

com.sun.deploy.net.FailedDownloadException: Ressource konnte nicht geladen werden: https://jdnc-incubator.dev.java.net/demos/mattnathan/modules/Core.jar
at com.sun.deploy.net.DownloadEngine.actionDownload(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getCacheEntry(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getResourceCacheEntry(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getResourceCacheEntry(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getResource(Unknown Source)
at com.sun.javaws.LaunchDownload.downloadJarFiles(Unknown Source)
at com.sun.javaws.LaunchDownload.downloadEagerorAll(Unknown Source)
at com.sun.javaws.Launcher.downloadResources(Unknown Source)
at com.sun.javaws.Launcher.prepareLaunchFile(Unknown Source)
at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source)
at com.sun.javaws.Launcher.launch(Unknown Source)
at com.sun.javaws.Main.launchApp(Unknown Source)
at com.sun.javaws.Main.continueInSecureThread(Unknown Source)
at com.sun.javaws.Main$1.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
,


--- % ---



java.util.zip.ZipException: ZIP file must have at least one entry
at java.util.zip.ZipOutputStream.finish(Unknown Source)
at java.util.zip.DeflaterOutputStream.close(Unknown Source)
at java.util.zip.ZipOutputStream.close(Unknown Source)
at com.sun.deploy.net.HttpDownloadHelper.download(Unknown Source)
at com.sun.deploy.cache.Cache.downloadResourceToCache(Unknown Source)
at com.sun.deploy.net.DownloadEngine.actionDownload(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getCacheEntry(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getResourceCacheEntry(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getResourceCacheEntry(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getResource(Unknown Source)
at com.sun.javaws.LaunchDownload.downloadJarFiles(Unknown Source)


HTH,
Mac

mattnathan

Posts: 94
Re: Finally cleaned incubator area (mattnathan) + Demos
Posted: Oct 15, 2008 8:09 AM   in response to: mac_systems
  Click to reply to this thread Reply

> com.sun.deploy.net.FailedDownloadException: Ressource konnte nicht geladen werden: https://jdnc-incubator.dev.java.net/demos/mattnathan/modules/Core.jar

That's funny, the above link works for me; it even has the right classes and manifest in it. Have you tried downloading the jar file directly?

kschaefe

Posts: 1,662
Re: Finally cleaned incubator area (mattnathan) + Demos
Posted: Oct 15, 2008 8:26 AM   in response to: mattnathan
  Click to reply to this thread Reply

Is this a 1.5 vs. 1.6 issue?

Karl

i30817

Posts: 386
Re: Finally cleaned incubator area (mattnathan) + Demos
Posted: Oct 15, 2008 4:11 PM   in response to: kschaefe
  Click to reply to this thread Reply

That rollover thinguie looks interesting, considering i spend spent an embarrassingly large amount of time a few months ago doing the same for a label. although for text i prefer to set colors, like this :

    private abstract class LabelShader extends MouseAdapter {
 
        private Color componentColor;
 
        @Override
        public void mouseEntered(MouseEvent arg) {
            Component comp = arg.getComponent();
            componentColor = comp.getForeground();
            comp.setForeground(SystemColor.textHighlight);
        }
 
        @Override
        public void mouseExited(MouseEvent arg) {
            arg.getComponent().setForeground(componentColor);
        }
    }

Dangerous? Hell yeah, but i think that the platform that paints text the same color as panels backgrounds is too stupid to live. I needed mouse listeners anyway to get Label "buttons". Vade-Retro accessibility guide-lines.

mattnathan

Posts: 94
Re: Finally cleaned incubator area (mattnathan) + Demos
Posted: Oct 16, 2008 2:57 AM   in response to: i30817
  Click to reply to this thread Reply

> i30817 wrote:
> I needed mouse listeners
> anyway to get Label "buttons".

Please see my original announcement (from December 2006 :/) regarding the roll-over support.

mac_systems

Posts: 43
Re: Finally cleaned incubator area (mattnathan) + Demos
Posted: Oct 16, 2008 5:14 AM   in response to: mattnathan
  Click to reply to this thread Reply

May my Connection there at work was broken.
Tried again the inspection Demo:

java.lang.IllegalArgumentException: input == null!
at javax.imageio.ImageIO.read(Unknown Source)
at org.jdesktop.swingx.JXInspectionPaneDemo.createImageItem(JXInspectionPaneDemo.java:92)
at org.jdesktop.swingx.JXInspectionPaneDemo.createItems(JXInspectionPaneDemo.java:68)
at org.jdesktop.swingx.JXInspectionPaneDemo.main(JXInspectionPaneDemo.java:46)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.sun.javaws.Launcher.executeApplication(Unknown Source)
at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

Using:

java version "1.6.0_07"
Java(TM) SE Runtime Environment (build 1.6.0_07-b06)
Java HotSpot(TM) Client VM (build 10.0-b23, mixed mode, sharing)

mattnathan

Posts: 94
Re: Finally cleaned incubator area (mattnathan) + Demos
Posted: Oct 16, 2008 5:51 AM   in response to: mac_systems
  Click to reply to this thread Reply

Sorry about that, looks like it was a problem on windows only. The resources used in the demo were being referenced via getClass().getResoruce("resources" + File.separatorChar + "file.png"); and it looks like this doesn't work. Have fixed and you should be able to see the demo now.

mattnathan

Posts: 94
Re: Finally cleaned incubator area (mattnathan) + Demos
Posted: Oct 16, 2008 2:39 AM   in response to: kschaefe
  Click to reply to this thread Reply

Sorry forgot to mention that I've compiled them for Java 6, if there is significant demand I can look into compiling for Java 5 for most of them.

mac_systems

Posts: 43
Re: Finally cleaned incubator area (mattnathan) + Demos
Posted: Oct 21, 2008 7:09 AM   in response to: mattnathan
  Click to reply to this thread Reply

Thx, it works now. Nice Work!!!

psychostud

Posts: 34
Re: Finally cleaned incubator area (mattnathan) + Demos
Posted: Oct 15, 2008 7:31 PM   in response to: mattnathan
  Click to reply to this thread Reply

Hi Matt,
Great Demos.!! ..just checked out the sources from cvs....
Just one question ...can i use the effect classes in the swing projects i work on ...which might be both commercial and personal ?.

Keep up the great work !!!


Regards,
Pavan

mattnathan

Posts: 94
Re: Finally cleaned incubator area (mattnathan) + Demos
Posted: Oct 16, 2008 2:41 AM   in response to: psychostud
  Click to reply to this thread Reply

Your welcome if it's up to me, but I'm not a licence expert. You'll have to look into the licence swinglabs uses for it's stuff.

cadraig

Posts: 6
Re: Finally cleaned incubator area (mattnathan) + Demos
Posted: Oct 21, 2008 3:56 AM   in response to: mattnathan
  Click to reply to this thread Reply

Hi Matt,

I'm attempting to have a look at the source for the RolloverManager but I've only got as far as
https://jdnc-incubator.dev.java.net
, and I can't seem to find the correct area.

Thanks

mattnathan

Posts: 94
Re: Finally cleaned incubator area (mattnathan) + Demos
Posted: Oct 21, 2008 4:21 AM   in response to: cadraig
  Click to reply to this thread Reply

If you check out the source via CVS it's in the src/mattnathan directory (see here for checkout details). I provide a IntelliJ IDEA project file which should be up to date, if you're using another IDE then the project dependencies for API and All modules are in www/documentation/mattnathan/images/ and are both linked in my first post.

You can browse the source via https://jdnc-incubator.dev.java.net/source/browse/jdnc-incubator/src/mattnathan

Each of the projects are in their own modules with a name similar to the titles above. So for example the Rollover support is in <jdnc-incubator>/src/mattnathan/Rollover and can be browsed here

Hope this helps,

Matt




 XML java.net RSS