001 package org.shiftone.jrat.desktop.util; 002 003 import org.jdesktop.swingx.JXTipOfTheDay; 004 import org.jdesktop.swingx.tips.TipLoader; 005 import org.jdesktop.swingx.tips.TipOfTheDayModel; 006 import org.shiftone.jrat.desktop.DesktopPreferences; 007 import org.shiftone.jrat.util.io.ResourceUtil; 008 009 import java.awt.*; 010 import java.util.Random; 011 012 /** 013 * @author (jeff@shiftone.org) Jeff Drost 014 */ 015 public class Tips { 016 017 private static final TipOfTheDayModel MODEL = TipLoader.load( 018 ResourceUtil.getResourceAsProperties( 019 "org/shiftone/jrat/desktop/tips.properties" 020 ) 021 ); 022 023 private static final JXTipOfTheDay TOTD = new JXTipOfTheDay(MODEL); 024 025 public static void show(Component parent, boolean force) { 026 TOTD.setCurrentTip(new Random().nextInt(MODEL.getTipCount() - 1)); 027 TOTD.showDialog(parent, new Choice(), force); 028 } 029 030 private static class Choice implements JXTipOfTheDay.ShowOnStartupChoice { 031 032 public void setShowingOnStartup(boolean showOnStartup) { 033 DesktopPreferences.setShowTipsOnStartup(showOnStartup); 034 } 035 036 public boolean isShowingOnStartup() { 037 return DesktopPreferences.isShowTipsOnStartup(); 038 } 039 } 040 }