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 theJXErrorPaneUI.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classBasicErrorPaneUI.CloseActionDefault action for closing the JXErrorPane's enclosing window (JDialog, JFrame, or JInternalFrame)private classBasicErrorPaneUI.DetailsClickEventListener for Details click events.private static classBasicErrorPaneUI.DetailsTransferHandlerReturns the text as non-HTML in a COPY operation, and disabled CUT/PASTE operations for the Details pane.private static classBasicErrorPaneUI.EqualSizeJButtonThis 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 classBasicErrorPaneUI.ErrorPaneLayoutLays out the BasicErrorPaneUI components.private classBasicErrorPaneUI.ErrorPaneListenerprivate classBasicErrorPaneUI.JXErrorDialogprivate classBasicErrorPaneUI.JXErrorFrameprivate classBasicErrorPaneUI.JXInternalErrorFrameprivate classBasicErrorPaneUI.ResizeWindow
-
Field Summary
Fields Modifier and Type Field Description protected static java.lang.StringCLASS_NAMEUsed as a prefix when pulling data out of UIManager for i18nprotected javax.swing.JButtoncloseButtonok/close buttonprivate intcollapsedHeightThe height of the window when collapsed.protected javax.swing.JButtoncopyToClipboardButtonprotected java.awt.event.ActionListenercopyToClipboardListenerAction listener for the copy to clipboard button.protected javax.swing.AbstractButtondetailButtondetail buttonprotected java.awt.event.ActionListenerdetailListenerAction listener for the detail button.protected JXEditorPanedetailsdetails text areaprotected javax.swing.JPaneldetailsPaneldetails panelprotected javax.swing.JScrollPanedetailsScrollPaneprotected javax.swing.JEditorPaneerrorMessageError message text areaprotected java.beans.PropertyChangeListenererrorPaneListenerProperty change listener for the error pane ensures that the pane's UI is reinitialized.protected javax.swing.JScrollPaneerrorScrollPaneError message text scroll pane wrapper.private intexpandedHeightThe height of the window when last expanded.protected javax.swing.JLabeliconLabellabel used to display the warning/error iconprotected JXErrorPanepaneThe error pane this UI is forprotected javax.swing.AbstractButtonreportButtonreport 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.DimensioncalculatePreferredSize()Calculates default prefered size for JXErrorPane on given platform/LAF.private static voidcenterWindow(java.awt.Window w, java.awt.Component owner)private static voidcenterWindow(javax.swing.JInternalFrame w, java.awt.Component owner)protected voidconfigureDetailsButton(boolean expanded)protected voidconfigureReportAction(AbstractActionExt reportAction)protected java.awt.LayoutManagercreateDetailPanelLayout()private javax.swing.TransferHandlercreateDetailsTransferHandler(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.LayoutManagercreateErrorPaneLayout()Create and return the LayoutManager to use with the error pane.static javax.swing.plaf.ComponentUIcreateUI(javax.swing.JComponent c)private static java.lang.StringescapeXml(java.lang.String input)Converts the incoming string to an escaped output string.private voidexitIfFatal()protected javax.swing.IcongetDefaultErrorIcon()protected javax.swing.IcongetDefaultWarningIcon()protected java.lang.StringgetDetailsAsHTML(ErrorInfo errorInfo)Creates and returns HTML representing the details of this incident info.protected intgetDetailsHeight()javax.swing.JDialoggetErrorDialog(java.awt.Component owner)Creates new ErrorPane wrapped in the dialog window centered at provided owner component.javax.swing.JFramegetErrorFrame(java.awt.Component owner)Creates new ErrorPane wrapped in the frame window centered at provided owner component.javax.swing.JInternalFramegetErrorInternalFrame(java.awt.Component owner)Creates new ErrorPane wrapped in the internal frame window centered at provided owner component.private voidinitWindow(java.awt.Window w, JXErrorPane pane)Utility method for initializing a Window for displaying a JXErrorPane.protected voidinstallComponents()Creates and initializes the components which make up the aggregate combo box.protected voidinstallDefaults()Installs the default colors, and default font into the Error Paneprotected voidinstallListeners()Create and install the listeners for the Error Pane.voidinstallUI(javax.swing.JComponent c)protected voidreinit()Reconfigures the dialog if settings have changed, such as the errorInfo, errorIcon, warningIcon, etcprivate voidsetDetails(java.lang.String details)Set the details section of the error dialog.private voidsetDetailsVisible(boolean b)Set the details section to be either visible or invisible.private voidsetErrorMessage(java.lang.String errorMessage)Set the error message for the dialog boxprotected voiduninstallComponents()The aggregate components which compise the combo box are unregistered and uninitialized.protected voiduninstallDefaults()Uninstalls the default colors, and default font into the Error Pane.protected voiduninstallListeners()Remove the installed listeners from the Error Pane.voiduninstallUI(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:
installUIin classjavax.swing.plaf.ComponentUI
-
uninstallUI
public void uninstallUI(javax.swing.JComponent c)
- Overrides:
uninstallUIin 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:ErrorPaneUICreates new ErrorPane wrapped in the frame window centered at provided owner component.- Specified by:
getErrorFramein 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:ErrorPaneUICreates new ErrorPane wrapped in the dialog window centered at provided owner component.- Specified by:
getErrorDialogin 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:ErrorPaneUICreates new ErrorPane wrapped in the internal frame window centered at provided owner component.- Specified by:
getErrorInternalFramein 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:ErrorPaneUICalculates default prefered size for JXErrorPane on given platform/LAF.- Specified by:
calculatePreferredSizein 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
-
-