se.datadosen.jalbum
Class JAlbumFrame

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Frame
                  extended by javax.swing.JFrame
                      extended by se.datadosen.jalbum.EasyJFrame
                          extended by se.datadosen.jalbum.JAlbumFrame
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants, JAlbumWindow

public class JAlbumFrame
extends EasyJFrame
implements JAlbumWindow

Main JAlbum user interface

See Also:
Serialized Form

Nested Class Summary
 class JAlbumFrame.CheckBoxProxy
           
 class JAlbumFrame.DummyCheckBox
           
 class JAlbumFrame.JAlbumFrameActions
           
 class JAlbumFrame.JAlbumFrameButtons
           
 
Nested classes/interfaces inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
 
Nested classes/interfaces inherited from class java.awt.Frame
java.awt.Frame.AccessibleAWTFrame
 
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 JAlbumFrame.JAlbumFrameActions actions
           
 JAlbumExplorer albumExplorer
           
 JAlbumContext context
           
 AlbumBean engine
           
 JMainSettingsPanel mainSettingsPanel
           
 JPreferencesWindow preferencesWindow
           
 JProgressDialog progressDialog
           
 JProgressSpinner progressSpinner
           
static java.lang.String PROJECT_EXTENSION
           
static java.lang.String PROJECT_FILE_NAME
           
 FileChooser projectChooser
           
 JSettingsWindow settingsWindow
           
 JStackLabel statusBar
           
 JAlbumFrame.JAlbumFrameButtons toolBars
           
 JAlbumFrame.DummyCheckBox useLayoutHints
           
 
Fields inherited from class se.datadosen.jalbum.EasyJFrame
CANCEL, ERROR, NO, OK, WARNING, YES
 
Fields inherited from class javax.swing.JFrame
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
JAlbumFrame(java.io.File projectFile)
           
 
Method Summary
 void addFiles(java.util.List<java.io.File> files)
          Add the list of files to the current album project
 void addJAlbumListener(JAlbumListener listener)
           
static void centerRelativeTo(java.awt.Component comp, java.awt.Component ref)
           
 boolean closeProject()
           
 void doExit()
           
 void engine2UI()
          Make the user interface reflect the settings of the JAlbum engine (AlbumBean) Use with caution as users could have their own UI settings overwritten by this call.
protected  void fireAlbumCreationFinished(JAlbumEvent e)
           
protected  void fireAlbumCreationStarted(JAlbumEvent e)
           
protected  void fireSkinChanged(JAlbumEvent e)
           
protected  void fireSkinUIDisplayed(JAlbumEvent e)
           
protected  void fireSkinUIHidden(JAlbumEvent e)
           
protected  void fireStyleChanged(JAlbumEvent e)
           
 void fixUIdisabling()
          Adjust user interface so that graphical elements are correctly disabled
 AlbumBean getEngine()
           
 java.io.File getProjectDir()
           
 java.lang.String getProjectName()
           
 ControlPanel getSkinUI()
           
 void initProject(java.io.File inputDirectory)
           
 void initView()
           
 boolean isExitOnClose()
           
 boolean isSkinUISelected()
          Is the skin user interface showing? Contract with skin developers
 boolean loadProject(java.io.File projectFile)
           
 boolean newProject(java.io.File projectFile)
           
 void pack()
          Skins sometimes call pack() on the main Window.
 void packThis()
          Skins sometimes call pack() on the main Window.
protected  void processWindowEvent(java.awt.event.WindowEvent e)
          Overridden so we can ask before exiting.
 void removeJAlbumListener(JAlbumListener listener)
           
 boolean renameImageDirectory(java.lang.String newImageDirectoryName)
           
 boolean renameProjectDirectory(java.lang.String newName)
           
 boolean saveProject(java.io.File projectFile)
           
 void scanImageDirectory()
          Search for jalbum project file in image directory and load project if found
 void setExitOnClose(boolean exitOnClose)
           
 void setSkinUI(ControlPanel ui)
          Installs skin's custom UI as a jAlbum settings panel This call is usually put last in an onload.bsh file of a skin Since v8.4, the installation of the UI is guaranteed to run on the event dispatch thread in order to avoid deadlocks
 void setTitle()
           
 void show(java.awt.Window win)
           
 javax.swing.JComponent showNotification(JNotification notification)
          Display a non-modal notification message in the bottom of jAlbum's album list The message will be revealed using a roll-up effect.
 void ui2Engine()
          Synchronize bean with user interface Made public from v5.2
 void ui2Engine(AlbumBean engine)
           
 
Methods inherited from class se.datadosen.jalbum.EasyJFrame
messageBox, messageBox, messageBox, messageBox, messageBox, messageBox, messageBox, messageBox, readInt, readInt, readInt, readInt, readString, readString, readString, readString, title
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
 
Methods inherited from class java.awt.Frame
addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setVisible, show, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

context

public final JAlbumContext context

PROJECT_EXTENSION

public static final java.lang.String PROJECT_EXTENSION
See Also:
Constant Field Values

PROJECT_FILE_NAME

public static final java.lang.String PROJECT_FILE_NAME
See Also:
Constant Field Values

preferencesWindow

public JPreferencesWindow preferencesWindow

actions

public JAlbumFrame.JAlbumFrameActions actions

mainSettingsPanel

public JMainSettingsPanel mainSettingsPanel

albumExplorer

public JAlbumExplorer albumExplorer

toolBars

public JAlbumFrame.JAlbumFrameButtons toolBars

settingsWindow

public JSettingsWindow settingsWindow

progressDialog

public JProgressDialog progressDialog

statusBar

public JStackLabel statusBar

progressSpinner

public JProgressSpinner progressSpinner

engine

public AlbumBean engine

projectChooser

public FileChooser projectChooser

useLayoutHints

public JAlbumFrame.DummyCheckBox useLayoutHints
Constructor Detail

JAlbumFrame

public JAlbumFrame(java.io.File projectFile)
Method Detail

pack

public void pack()
Skins sometimes call pack() on the main Window. This was ok prior to v7, but should now be delegated to the album settings window To really pack this JFrame, use packThis() instead.

Specified by:
pack in interface JAlbumWindow
Overrides:
pack in class java.awt.Window
Since:
7.0

packThis

public void packThis()
Skins sometimes call pack() on the main Window. This was ok prior to v7, but should now be delegated to the album settings window To really pack this JFrame, use packThis() instead.

Since:
7.0

showNotification

public javax.swing.JComponent showNotification(JNotification notification)
Display a non-modal notification message in the bottom of jAlbum's album list The message will be revealed using a roll-up effect.

Parameters:
notification -
Returns:
old notification panel
Since:
8.9

setTitle

public void setTitle()

removeJAlbumListener

public void removeJAlbumListener(JAlbumListener listener)

addJAlbumListener

public void addJAlbumListener(JAlbumListener listener)
Specified by:
addJAlbumListener in interface JAlbumWindow

fireSkinUIDisplayed

protected void fireSkinUIDisplayed(JAlbumEvent e)

fireSkinUIHidden

protected void fireSkinUIHidden(JAlbumEvent e)

fireStyleChanged

protected void fireStyleChanged(JAlbumEvent e)

fireSkinChanged

protected void fireSkinChanged(JAlbumEvent e)

fireAlbumCreationStarted

protected void fireAlbumCreationStarted(JAlbumEvent e)

fireAlbumCreationFinished

protected void fireAlbumCreationFinished(JAlbumEvent e)

initProject

public void initProject(java.io.File inputDirectory)
Parameters:
inputDirectory -
Since:
7.0

doExit

public void doExit()

processWindowEvent

protected void processWindowEvent(java.awt.event.WindowEvent e)
Overridden so we can ask before exiting.

Overrides:
processWindowEvent in class javax.swing.JFrame
Parameters:
e -

isSkinUISelected

public boolean isSkinUISelected()
Is the skin user interface showing? Contract with skin developers

Returns:

setSkinUI

public void setSkinUI(ControlPanel ui)
Installs skin's custom UI as a jAlbum settings panel This call is usually put last in an onload.bsh file of a skin Since v8.4, the installation of the UI is guaranteed to run on the event dispatch thread in order to avoid deadlocks

Specified by:
setSkinUI in interface JAlbumWindow
Parameters:
ui -

newProject

public boolean newProject(java.io.File projectFile)

closeProject

public boolean closeProject()

scanImageDirectory

public void scanImageDirectory()
Search for jalbum project file in image directory and load project if found


renameProjectDirectory

public boolean renameProjectDirectory(java.lang.String newName)
                               throws java.io.IOException
Throws:
java.io.IOException

renameImageDirectory

public boolean renameImageDirectory(java.lang.String newImageDirectoryName)
                             throws java.io.IOException
Throws:
java.io.IOException

loadProject

public boolean loadProject(java.io.File projectFile)

saveProject

public boolean saveProject(java.io.File projectFile)

getProjectName

public java.lang.String getProjectName()

getProjectDir

public java.io.File getProjectDir()

engine2UI

public void engine2UI()
Make the user interface reflect the settings of the JAlbum engine (AlbumBean) Use with caution as users could have their own UI settings overwritten by this call. To be safe, only call this method shortly after calling ui2Engine

Since:
8.2 (made public)
See Also:
ui2Engine

ui2Engine

public void ui2Engine()
               throws BeanBinderException
Synchronize bean with user interface Made public from v5.2

Specified by:
ui2Engine in interface JAlbumWindow
Throws:
BeanBinderException

ui2Engine

public void ui2Engine(AlbumBean engine)
               throws BeanBinderException
Throws:
BeanBinderException

fixUIdisabling

public void fixUIdisabling()
Adjust user interface so that graphical elements are correctly disabled


initView

public void initView()

show

public void show(java.awt.Window win)

centerRelativeTo

public static void centerRelativeTo(java.awt.Component comp,
                                    java.awt.Component ref)

getEngine

public AlbumBean getEngine()

getSkinUI

public ControlPanel getSkinUI()
Specified by:
getSkinUI in interface JAlbumWindow

isExitOnClose

public boolean isExitOnClose()

setExitOnClose

public void setExitOnClose(boolean exitOnClose)

addFiles

public void addFiles(java.util.List<java.io.File> files)
Add the list of files to the current album project

Since:
9.4