|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjavax.swing.plaf.ComponentUI
javax.swing.plaf.OptionPaneUI
com.birosoft.liquid.LiquidOptionPaneUI
public class LiquidOptionPaneUI
Provides the basic look and feel for a JOptionPane
.
BasicMessagePaneUI
provides a means to place an icon,
message and buttons into a Container
.
Generally, the layout will look like:
------------------ | i | message | | c | message | | o | message | | n | message | ------------------ | buttons | |________________|icon is an instance of
Icon
that is wrapped inside a
JLabel
. The message is an opaque object and is tested
for the following: if the message is a Component
it is
added to the Container
, if it is an Icon
it is wrapped inside a JLabel
and added to the
Container
otherwise it is wrapped inside a JLabel
.
The above layout is used when the option pane's
ComponentOrientation
property is horizontal, left-to-right.
The layout will be adjusted appropriately for other orientations.
The Container
, message, icon, and buttons are all
determined from abstract methods.
Nested Class Summary | |
---|---|
class |
LiquidOptionPaneUI.ButtonActionListener
This inner class is marked "public" due to a compiler bug. |
static class |
LiquidOptionPaneUI.ButtonAreaLayout
ButtonAreaLayout behaves in a similar manner to
FlowLayout . |
class |
LiquidOptionPaneUI.PropertyChangeHandler
This inner class is marked "public" due to a compiler bug. |
Field Summary | |
---|---|
protected boolean |
hasCustomComponents
This is set to true in validateComponent if a Component is contained in either the message or the buttons. |
protected java.awt.Component |
initialFocusComponent
Component to receive focus when messaged with selectInitialValue. |
protected javax.swing.JComponent |
inputComponent
JComponent provide for input if optionPane.getWantsInput() returns true. |
static int |
MinimumHeight
|
protected java.awt.Dimension |
minimumSize
|
static int |
MinimumWidth
|
protected javax.swing.JOptionPane |
optionPane
JOptionPane that the receiver is providing the
look and feel for. |
protected java.beans.PropertyChangeListener |
propertyChangeListener
|
Constructor Summary | |
---|---|
LiquidOptionPaneUI()
|
Method Summary | |
---|---|
protected void |
addButtonComponents(java.awt.Container container,
java.lang.Object[] buttons,
int initialIndex)
Creates the appropriate object to represent each of the objects in buttons and adds it to container . |
protected void |
addIcon(java.awt.Container top)
Creates and adds a JLabel representing the icon returned from getIcon to top . |
protected void |
addMessageComponents(java.awt.Container container,
java.awt.GridBagConstraints cons,
java.lang.Object msg,
int maxll,
boolean internallyCreated)
Creates the appropriate object to represent msg and
places it into container . |
protected void |
burstStringInto(java.awt.Container c,
java.lang.String d,
int maxll)
Recursively creates new JLabel instances to represent d . |
boolean |
containsCustomComponents(javax.swing.JOptionPane op)
Returns true if in the last call to validateComponent the message or buttons contained a subclass of Component. |
protected java.awt.event.ActionListener |
createButtonActionListener(int buttonIndex)
|
protected java.awt.Container |
createButtonArea()
Creates and returns a Container containing the buttons. |
protected java.awt.LayoutManager |
createLayoutManager()
|
protected java.awt.Container |
createMessageArea()
Messaged from installComponents to create a Container containing the body of the message. |
protected java.beans.PropertyChangeListener |
createPropertyChangeListener()
|
protected java.awt.Container |
createSeparator()
|
static javax.swing.plaf.ComponentUI |
createUI(javax.swing.JComponent x)
Creates a new BasicOptionPaneUI instance. |
protected java.lang.Object[] |
getButtons()
Returns the buttons to display from the JOptionPane the receiver is providing the look and feel for. |
protected javax.swing.Icon |
getIcon()
Returns the icon from the JOptionPane the receiver is providing the look and feel for, or the default icon as returned from getDefaultIcon . |
protected javax.swing.Icon |
getIconForType(int messageType)
Returns the icon to use for the passed in type. |
protected int |
getInitialValueIndex()
Returns the initial index into the buttons to select. |
protected int |
getMaxCharactersPerLineCount()
Returns the maximum number of characters to place on a line. |
java.awt.Dimension |
getMaximumSize(javax.swing.JComponent c)
Messages getPreferredSize. |
protected java.lang.Object |
getMessage()
Returns the message to display from the JOptionPane the receiver is providing the look and feel for. |
java.awt.Dimension |
getMinimumOptionPaneSize()
Returns the minimum size the option pane should be. |
java.awt.Dimension |
getMinimumSize(javax.swing.JComponent c)
Messages getPreferredSize. |
java.awt.Dimension |
getPreferredSize(javax.swing.JComponent c)
If c is the JOptionPane the receiver
is contained in, the preferred
size that is returned is the maximum of the preferred size of
the LayoutManager for the JOptionPane , and
getMinimumOptionPaneSize . |
protected boolean |
getSizeButtonsToSameWidth()
Returns true, basic L&F wants all the buttons to have the same width. |
protected void |
installComponents()
|
protected void |
installDefaults()
|
protected void |
installKeyboardActions()
|
protected void |
installListeners()
|
void |
installUI(javax.swing.JComponent c)
Installs the receiver as the L&F for the passed in JOptionPane . |
protected void |
resetInputValue()
Sets the input value in the option pane the receiver is providing the look and feel for based on the value in the inputComponent. |
void |
selectInitialValue(javax.swing.JOptionPane op)
If inputComponent is non-null, the focus is requested on that, otherwise request focus on the default value |
protected void |
uninstallComponents()
|
protected void |
uninstallDefaults()
|
protected void |
uninstallKeyboardActions()
|
protected void |
uninstallListeners()
|
void |
uninstallUI(javax.swing.JComponent c)
Removes the receiver from the L&F controller of the passed in split pane. |
Methods inherited from class javax.swing.plaf.ComponentUI |
---|
contains, getAccessibleChild, getAccessibleChildrenCount, getBaseline, getBaselineResizeBehavior, paint, update |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int MinimumWidth
public static final int MinimumHeight
protected javax.swing.JOptionPane optionPane
JOptionPane
that the receiver is providing the
look and feel for.
protected java.awt.Dimension minimumSize
protected javax.swing.JComponent inputComponent
protected java.awt.Component initialFocusComponent
protected boolean hasCustomComponents
protected java.beans.PropertyChangeListener propertyChangeListener
Constructor Detail |
---|
public LiquidOptionPaneUI()
Method Detail |
---|
public static javax.swing.plaf.ComponentUI createUI(javax.swing.JComponent x)
public void installUI(javax.swing.JComponent c)
JOptionPane
.
installUI
in class javax.swing.plaf.ComponentUI
public void uninstallUI(javax.swing.JComponent c)
uninstallUI
in class javax.swing.plaf.ComponentUI
protected void installDefaults()
protected void uninstallDefaults()
protected void installComponents()
protected void uninstallComponents()
protected java.awt.LayoutManager createLayoutManager()
protected void installListeners()
protected void uninstallListeners()
protected java.beans.PropertyChangeListener createPropertyChangeListener()
protected void installKeyboardActions()
protected void uninstallKeyboardActions()
public java.awt.Dimension getMinimumOptionPaneSize()
public java.awt.Dimension getPreferredSize(javax.swing.JComponent c)
c
is the JOptionPane
the receiver
is contained in, the preferred
size that is returned is the maximum of the preferred size of
the LayoutManager
for the JOptionPane
, and
getMinimumOptionPaneSize
.
getPreferredSize
in class javax.swing.plaf.ComponentUI
public java.awt.Dimension getMinimumSize(javax.swing.JComponent c)
getMinimumSize
in class javax.swing.plaf.ComponentUI
public java.awt.Dimension getMaximumSize(javax.swing.JComponent c)
getMaximumSize
in class javax.swing.plaf.ComponentUI
protected java.awt.Container createMessageArea()
addIcon
.
protected void addMessageComponents(java.awt.Container container, java.awt.GridBagConstraints cons, java.lang.Object msg, int maxll, boolean internallyCreated)
msg
and
places it into container
. If msg
is an
instance of Component, it is added directly, if it is an Icon,
a JLabel is created to represent it, otherwise a JLabel is
created for the string, if d
is an Object[], this
method will be recursively invoked for the children.
internallyCreated
is true if Objc is an instance
of Component and was created internally by this method (this is
used to correctly set hasCustomComponents only if !internallyCreated).
protected java.lang.Object getMessage()
protected void addIcon(java.awt.Container top)
getIcon
to top
. This is messaged from
createMessageArea
protected javax.swing.Icon getIcon()
getDefaultIcon
.
protected javax.swing.Icon getIconForType(int messageType)
protected int getMaxCharactersPerLineCount()
protected void burstStringInto(java.awt.Container c, java.lang.String d, int maxll)
d
.
Each JLabel instance is added to c
.
protected java.awt.Container createSeparator()
protected java.awt.Container createButtonArea()
getButtons
.
protected void addButtonComponents(java.awt.Container container, java.lang.Object[] buttons, int initialIndex)
buttons
and adds it to container
. This
differs from addMessageComponents in that it will recurse on
buttons
and that if button is not a Component
it will create an instance of JButton.
protected java.awt.event.ActionListener createButtonActionListener(int buttonIndex)
protected java.lang.Object[] getButtons()
protected boolean getSizeButtonsToSameWidth()
protected int getInitialValueIndex()
protected void resetInputValue()
public void selectInitialValue(javax.swing.JOptionPane op)
selectInitialValue
in class javax.swing.plaf.OptionPaneUI
public boolean containsCustomComponents(javax.swing.JOptionPane op)
containsCustomComponents
in class javax.swing.plaf.OptionPaneUI
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |