Package org.jdesktop.swingx.plaf.basic
Class BasicErrorPaneUI
- java.lang.Object
-
- javax.swing.plaf.ComponentUI
-
- javax.swing.plaf.PanelUI
-
- org.jdesktop.swingx.plaf.ErrorPaneUI
-
- org.jdesktop.swingx.plaf.basic.BasicErrorPaneUI
-
- Direct Known Subclasses:
MacOSXErrorPaneUI
public class BasicErrorPaneUI extends ErrorPaneUI
Base implementation of theJXErrorPane
UI.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
BasicErrorPaneUI.CloseAction
Default action for closing the JXErrorPane's enclosing window (JDialog, JFrame, or JInternalFrame)private class
BasicErrorPaneUI.DetailsClickEvent
Listener for Details click events.private static class
BasicErrorPaneUI.DetailsTransferHandler
Returns the text as non-HTML in a COPY operation, and disabled CUT/PASTE operations for the Details pane.private static class
BasicErrorPaneUI.EqualSizeJButton
This is a button that maintains the size of the largest button in the button group by returning the largest size from the getPreferredSize method.private class
BasicErrorPaneUI.ErrorPaneLayout
Lays out the BasicErrorPaneUI components.private class
BasicErrorPaneUI.ErrorPaneListener
private class
BasicErrorPaneUI.JXErrorDialog
private class
BasicErrorPaneUI.JXErrorFrame
private class
BasicErrorPaneUI.JXInternalErrorFrame
private class
BasicErrorPaneUI.ResizeWindow
-
Field Summary
Fields Modifier and Type Field Description protected static java.lang.String
CLASS_NAME
Used as a prefix when pulling data out of UIManager for i18nprotected javax.swing.JButton
closeButton
ok/close buttonprivate int
collapsedHeight
The height of the window when collapsed.protected javax.swing.JButton
copyToClipboardButton
protected java.awt.event.ActionListener
copyToClipboardListener
Action listener for the copy to clipboard button.protected javax.swing.AbstractButton
detailButton
detail buttonprotected java.awt.event.ActionListener
detailListener
Action listener for the detail button.protected JXEditorPane
details
details text areaprotected javax.swing.JPanel
detailsPanel
details panelprotected javax.swing.JScrollPane
detailsScrollPane
protected javax.swing.JEditorPane
errorMessage
Error message text areaprotected java.beans.PropertyChangeListener
errorPaneListener
Property change listener for the error pane ensures that the pane's UI is reinitialized.protected javax.swing.JScrollPane
errorScrollPane
Error message text scroll pane wrapper.private int
expandedHeight
The height of the window when last expanded.protected javax.swing.JLabel
iconLabel
label used to display the warning/error iconprotected JXErrorPane
pane
The error pane this UI is forprotected javax.swing.AbstractButton
reportButton
report an error button
-
Constructor Summary
Constructors Constructor Description BasicErrorPaneUI()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.awt.Dimension
calculatePreferredSize()
Calculates default prefered size for JXErrorPane on given platform/LAF.private static void
centerWindow(java.awt.Window w, java.awt.Component owner)
private static void
centerWindow(javax.swing.JInternalFrame w, java.awt.Component owner)
protected void
configureDetailsButton(boolean expanded)
protected void
configureReportAction(AbstractActionExt reportAction)
protected java.awt.LayoutManager
createDetailPanelLayout()
private javax.swing.TransferHandler
createDetailsTransferHandler(javax.swing.text.JTextComponent detailComponent)
Creates and returns a TransferHandler which can be used to copy the details from the details component.protected java.awt.LayoutManager
createErrorPaneLayout()
Create and return the LayoutManager to use with the error pane.static javax.swing.plaf.ComponentUI
createUI(javax.swing.JComponent c)
private static java.lang.String
escapeXml(java.lang.String input)
Converts the incoming string to an escaped output string.private void
exitIfFatal()
protected javax.swing.Icon
getDefaultErrorIcon()
protected javax.swing.Icon
getDefaultWarningIcon()
protected java.lang.String
getDetailsAsHTML(ErrorInfo errorInfo)
Creates and returns HTML representing the details of this incident info.protected int
getDetailsHeight()
javax.swing.JDialog
getErrorDialog(java.awt.Component owner)
Creates new ErrorPane wrapped in the dialog window centered at provided owner component.javax.swing.JFrame
getErrorFrame(java.awt.Component owner)
Creates new ErrorPane wrapped in the frame window centered at provided owner component.javax.swing.JInternalFrame
getErrorInternalFrame(java.awt.Component owner)
Creates new ErrorPane wrapped in the internal frame window centered at provided owner component.private void
initWindow(java.awt.Window w, JXErrorPane pane)
Utility method for initializing a Window for displaying a JXErrorPane.protected void
installComponents()
Creates and initializes the components which make up the aggregate combo box.protected void
installDefaults()
Installs the default colors, and default font into the Error Paneprotected void
installListeners()
Create and install the listeners for the Error Pane.void
installUI(javax.swing.JComponent c)
protected void
reinit()
Reconfigures the dialog if settings have changed, such as the errorInfo, errorIcon, warningIcon, etcprivate void
setDetails(java.lang.String details)
Set the details section of the error dialog.private void
setDetailsVisible(boolean b)
Set the details section to be either visible or invisible.private void
setErrorMessage(java.lang.String errorMessage)
Set the error message for the dialog boxprotected void
uninstallComponents()
The aggregate components which compise the combo box are unregistered and uninitialized.protected void
uninstallDefaults()
Uninstalls the default colors, and default font into the Error Pane.protected void
uninstallListeners()
Remove the installed listeners from the Error Pane.void
uninstallUI(javax.swing.JComponent c)
-
-
-
Field Detail
-
CLASS_NAME
protected static final java.lang.String CLASS_NAME
Used as a prefix when pulling data out of UIManager for i18n- See Also:
- Constant Field Values
-
pane
protected JXErrorPane pane
The error pane this UI is for
-
errorMessage
protected javax.swing.JEditorPane errorMessage
Error message text area
-
errorScrollPane
protected javax.swing.JScrollPane errorScrollPane
Error message text scroll pane wrapper.
-
details
protected JXEditorPane details
details text area
-
detailButton
protected javax.swing.AbstractButton detailButton
detail button
-
closeButton
protected javax.swing.JButton closeButton
ok/close button
-
iconLabel
protected javax.swing.JLabel iconLabel
label used to display the warning/error icon
-
reportButton
protected javax.swing.AbstractButton reportButton
report an error button
-
detailsPanel
protected javax.swing.JPanel detailsPanel
details panel
-
detailsScrollPane
protected javax.swing.JScrollPane detailsScrollPane
-
copyToClipboardButton
protected javax.swing.JButton copyToClipboardButton
-
errorPaneListener
protected java.beans.PropertyChangeListener errorPaneListener
Property change listener for the error pane ensures that the pane's UI is reinitialized.
-
detailListener
protected java.awt.event.ActionListener detailListener
Action listener for the detail button.
-
copyToClipboardListener
protected java.awt.event.ActionListener copyToClipboardListener
Action listener for the copy to clipboard button.
-
collapsedHeight
private int collapsedHeight
The height of the window when collapsed. This value is stashed when the dialog is expanded
-
expandedHeight
private int expandedHeight
The height of the window when last expanded. This value is stashed when the dialog is collapsed
-
-
Method Detail
-
createUI
public static javax.swing.plaf.ComponentUI createUI(javax.swing.JComponent c)
-
installUI
public void installUI(javax.swing.JComponent c)
- Overrides:
installUI
in classjavax.swing.plaf.ComponentUI
-
uninstallUI
public void uninstallUI(javax.swing.JComponent c)
- Overrides:
uninstallUI
in classjavax.swing.plaf.ComponentUI
-
installDefaults
protected void installDefaults()
Installs the default colors, and default font into the Error Pane
-
uninstallDefaults
protected void uninstallDefaults()
Uninstalls the default colors, and default font into the Error Pane.
-
installListeners
protected void installListeners()
Create and install the listeners for the Error Pane. This method is called when the UI is installed.
-
uninstallListeners
protected void uninstallListeners()
Remove the installed listeners from the Error Pane. The number and types of listeners removed and in this method should be the same that was added ininstallListeners
-
installComponents
protected void installComponents()
Creates and initializes the components which make up the aggregate combo box. This method is called as part of the UI installation process.
-
uninstallComponents
protected void uninstallComponents()
The aggregate components which compise the combo box are unregistered and uninitialized. This method is called as part of the UI uninstallation process.
-
getErrorFrame
public javax.swing.JFrame getErrorFrame(java.awt.Component owner)
Description copied from class:ErrorPaneUI
Creates new ErrorPane wrapped in the frame window centered at provided owner component.- Specified by:
getErrorFrame
in classErrorPaneUI
- Parameters:
owner
- component to center created error frame at.- Returns:
- New ErrorPane instance wrapped in JFrame.
-
getErrorDialog
public javax.swing.JDialog getErrorDialog(java.awt.Component owner)
Description copied from class:ErrorPaneUI
Creates new ErrorPane wrapped in the dialog window centered at provided owner component.- Specified by:
getErrorDialog
in classErrorPaneUI
- Parameters:
owner
- component to center created error dialog at.- Returns:
- New ErrorPane instance wrapped in JDialog.
-
getErrorInternalFrame
public javax.swing.JInternalFrame getErrorInternalFrame(java.awt.Component owner)
Description copied from class:ErrorPaneUI
Creates new ErrorPane wrapped in the internal frame window centered at provided owner component.- Specified by:
getErrorInternalFrame
in classErrorPaneUI
- Parameters:
owner
- component to center created error frame at.- Returns:
- New ErrorPane instance wrapped in JInternalFrame.
-
createErrorPaneLayout
protected java.awt.LayoutManager createErrorPaneLayout()
Create and return the LayoutManager to use with the error pane.
-
createDetailPanelLayout
protected java.awt.LayoutManager createDetailPanelLayout()
-
calculatePreferredSize
public java.awt.Dimension calculatePreferredSize()
Description copied from class:ErrorPaneUI
Calculates default prefered size for JXErrorPane on given platform/LAF.- Specified by:
calculatePreferredSize
in classErrorPaneUI
- Returns:
- Preferred size.
-
getDetailsHeight
protected int getDetailsHeight()
-
configureReportAction
protected void configureReportAction(AbstractActionExt reportAction)
-
createDetailsTransferHandler
private javax.swing.TransferHandler createDetailsTransferHandler(javax.swing.text.JTextComponent detailComponent)
Creates and returns a TransferHandler which can be used to copy the details from the details component. It also disallows pasting into the component, or cutting from the component.- Returns:
- a TransferHandler for the details area
-
getDefaultErrorIcon
protected javax.swing.Icon getDefaultErrorIcon()
- Returns:
- the default error icon
-
getDefaultWarningIcon
protected javax.swing.Icon getDefaultWarningIcon()
- Returns:
- the default warning icon
-
setDetails
private void setDetails(java.lang.String details)
Set the details section of the error dialog. If the details are either null or an empty string, then hide the details button and hide the detail scroll pane. Otherwise, just set the details section.- Parameters:
details
- Details to be shown in the detail section of the dialog. This can be null if you do not want to display the details section of the dialog.
-
configureDetailsButton
protected void configureDetailsButton(boolean expanded)
-
setDetailsVisible
private void setDetailsVisible(boolean b)
Set the details section to be either visible or invisible. Set the text of the Details button accordingly.- Parameters:
b
- if true details section will be visible
-
setErrorMessage
private void setErrorMessage(java.lang.String errorMessage)
Set the error message for the dialog box- Parameters:
errorMessage
- Message for the error dialog
-
reinit
protected void reinit()
Reconfigures the dialog if settings have changed, such as the errorInfo, errorIcon, warningIcon, etc
-
getDetailsAsHTML
protected java.lang.String getDetailsAsHTML(ErrorInfo errorInfo)
Creates and returns HTML representing the details of this incident info. This method is only called if the details needs to be generated: ie: the detailed error message property of the incident info is null.
-
initWindow
private void initWindow(java.awt.Window w, JXErrorPane pane)
Utility method for initializing a Window for displaying a JXErrorPane. This is particularly useful because the differences between JFrame and JDialog are so minor. removed.
-
exitIfFatal
private void exitIfFatal()
-
centerWindow
private static void centerWindow(java.awt.Window w, java.awt.Component owner)
-
centerWindow
private static void centerWindow(javax.swing.JInternalFrame w, java.awt.Component owner)
-
escapeXml
private static java.lang.String escapeXml(java.lang.String input)
Converts the incoming string to an escaped output string. This method is far from perfect, only escaping <, > and & characters
-
-