Substance look and feel
JavaOne 2007 Community Corner
An application before Substance
Same application with Substance
Same application with Substance
Using Substance in you app
 Go to https://substance.dev.java.net
 Download the latest substance.jar
 Use one of the thr...
Substance themes
 Contains information on control colors
  for different visual states (disabled,
  default, active)
 Ba...
Substance simple themes



  SubstanceAquaTheme     SubstanceBottleGreenTheme




  SubstancePurpleTheme      SubstanceOli...
Substance derived themes
   Invert, negate, saturate, hue-shift and
    color-blind
Example of hue-shift:
SubstanceTheme ...
Substance watermarks
 Simple watermarks
 Image-based watermarks




    SubstanceBinaryWatermark          SubstanceWoodW...
Substance skins
 A collection of various settings (theme,
  watermark, painters, shapers etc).
 In org.jvnet.substance.s...
Substance toned-down skins



  SubstanceBusinessLookAndFeel   SubstanceBusinessBlackSteelLookAndFeel




   SubstanceCrem...
Substance dark skins



 SubstanceRavenGraphiteLookAndFeel       SubstanceRavenLookAndFeel




 SubstanceEmeraldDuskLookAn...
Substance saturated skins



 SubstanceOfficeBlue2007LookAndFeel   SubstanceFieldOfWheatLookAndFeel




  SubstanceGreenMa...
Configuring animations
 LafWidget.ANIMATION_KIND –
  controls animation speed (0.5 sec for
  a transition by default)
 F...
Custom appearance
 Theme – extend SubstanceTheme or
  use derivation APIs
 Watermark – implement
  SubstanceWatermark
 ...
Additional UI elements
 Substance provides additional “feel”
  part for some Swing components
 These are called widgets
...
Widget examples
 Menu search panel on big menus
 Lock icon on non-editable text
  components
 Auto-completion on editab...
Substance plugins
 Substance provides a plugin
  mechanism for third-party components
 No need to change the code – just...
SwingX plugin
   Provides consistent appearance
    (colors, fonts, animation) for
    ◦   Task pane container and task p...
Q&A
Visit https://substance.dev.java.net

Mail kirillcool@yahoo.com

See http://javootoo.com for a list of
 other third-pa...
Upcoming SlideShare
Loading in …5
×

Substance Java One 2007 Community Corner

2,399 views

Published on

JavaOne 2007 Community Corner presentation on Substance look-and-feel

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,399
On SlideShare
0
From Embeds
0
Number of Embeds
12
Actions
Shares
0
Downloads
34
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Substance Java One 2007 Community Corner

  1. 1. Substance look and feel JavaOne 2007 Community Corner
  2. 2. An application before Substance
  3. 3. Same application with Substance
  4. 4. Same application with Substance
  5. 5. Using Substance in you app  Go to https://substance.dev.java.net  Download the latest substance.jar  Use one of the three options: ◦ UIManager.setLookAndFeel( new SubstanceLookAndFeel()) ◦ UIManager.setLookAndFeel( “org.jvnet.substance.SubstanceLookAndFeel”) ◦ -Dswing.defaultlaf= org.jvnet.substance.SubstanceLookAndFeel
  6. 6. Substance themes  Contains information on control colors for different visual states (disabled, default, active)  Base class – SubstanceTheme  Use bundled core themes  Use APIs to create derived themes  Extend and create a custom theme
  7. 7. Substance simple themes SubstanceAquaTheme SubstanceBottleGreenTheme SubstancePurpleTheme SubstanceOliveTheme
  8. 8. Substance derived themes  Invert, negate, saturate, hue-shift and color-blind Example of hue-shift: SubstanceTheme theme = SubstanceLookAndFeel.getTheme(); SubstanceTheme shifted = theme.hueShift(-0.5); SubstanceLookAndFeel.setCurrentTheme(shifted);
  9. 9. Substance watermarks  Simple watermarks  Image-based watermarks SubstanceBinaryWatermark SubstanceWoodWatermark SubstanceImageWatermark + APP_TILE
  10. 10. Substance skins  A collection of various settings (theme, watermark, painters, shapers etc).  In org.jvnet.substance.skin package  Can set as ◦ SubstanceLookAndFeel.setSkin(…) ◦ Derived look and feel classes based on a specific skin (set with UIManager or VM flag)
  11. 11. Substance toned-down skins SubstanceBusinessLookAndFeel SubstanceBusinessBlackSteelLookAndFeel SubstanceCremeLookAndFeel SubstanceSaharaLookAndFeel
  12. 12. Substance dark skins SubstanceRavenGraphiteLookAndFeel SubstanceRavenLookAndFeel SubstanceEmeraldDuskLookAndFeel SubstanceChallengerDeepLookAndFeel
  13. 13. Substance saturated skins SubstanceOfficeBlue2007LookAndFeel SubstanceFieldOfWheatLookAndFeel SubstanceGreenMagicLookAndFeel SubstanceFindingNemoLookAndFeel
  14. 14. Configuring animations  LafWidget.ANIMATION_KIND – controls animation speed (0.5 sec for a transition by default)  FadeConfigurationManager APIs – to enable / disable animations ◦ On a specific control ◦ On control class (JTree, for example) ◦ Globally
  15. 15. Custom appearance  Theme – extend SubstanceTheme or use derivation APIs  Watermark – implement SubstanceWatermark  Skin – implement SubstanceSkin or extend SubstanceAbstractSkin (provides basic functionality)  See existing core implementation and test app for examples
  16. 16. Additional UI elements  Substance provides additional “feel” part for some Swing components  These are called widgets  Some widgets are turned on by default  Most widgets are configurable  Some widgets are not visible – behavior only
  17. 17. Widget examples  Menu search panel on big menus  Lock icon on non-editable text components  Auto-completion on editable comboboxes  Password strength checker  Tab overview panel  Tree smart scroll
  18. 18. Substance plugins  Substance provides a plugin mechanism for third-party components  No need to change the code – just drop the plugin jar in the classpath  Available plugins for: ◦ NetBeans – module supports 5.0 and 5.5 ◦ SwingX at https://swingx.dev.java.net ◦ Flamingo at https://flamingo.dev.java.net
  19. 19. SwingX plugin  Provides consistent appearance (colors, fonts, animation) for ◦ Task pane container and task panes ◦ Status bar ◦ Month view ◦ Date picker ◦ Translucency on JXPanel  More to come as SwingX matures and reaches the first release
  20. 20. Q&A Visit https://substance.dev.java.net Mail kirillcool@yahoo.com See http://javootoo.com for a list of other third-party look and feels

×