Package org.geotools.util
Class SwingUtilities
- Object
-
- SwingUtilities
-
public final class SwingUtilities extends Object
A collection of utility methods for Swing. Allshow*methods delegate their work to the corresponding method inJOptionPane, with two differences:SwingUtilities's method may be invoked from any thread. If they are invoked from a non-Swing thread, execution will be delegate to the Swing thread and the calling thread will block until completion.- If a parent component is a
JDesktopPane, dialogs will be rendered as internal frames instead of frames.
- Since:
- 2.0
- Author:
- Martin Desruisseaux (IRD)
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static LocalegetLocale(Component component)Returns the locale for the specified component, or a default one if the component is not yet part of a container hierarchy.static JComponentgetMultilineLabelFor(JComponent owner, String text)Retourne une étiquette pour la composante spécifiée.static voidinvokeAndWait(Runnable runnable)Causes runnable to have its run method called in the dispatch thread of the event queue.static voidsetTitle(Component component, String title)Set the title of the parent frame or internal frame of the specified component.static booleanshowConfirmDialog(Component owner, Object message, String title, int type)Brings up a confirmation dialog with "Yes/No" buttons.static voidshowMessageDialog(Component owner, Object message, String title, int type)Brings up a message dialog with a "Ok" button.static booleanshowOptionDialog(Component owner, Object dialog, String title)Brings up a "Ok/Cancel" dialog with no icon.static booleanshowOptionDialog(Component owner, Object dialog, String title, ActionListener reset)Brings up a "Ok/Cancel/Reset" dialog with no icon.static ComponenttoFrame(Component owner, JComponent panel, String title, WindowListener listener)Insert a Swing component into a frame.
-
-
-
Method Detail
-
toFrame
public static Component toFrame(Component owner, JComponent panel, String title, WindowListener listener)
Insert a Swing component into a frame. The kind of frame depends on the owner:- If
owneror one of its parent is aJDesktopPane, thenpanelis added into aJInternalFrame. - If
owneror one of its parent is aFrameor aDialog, thenpanelis added into aJDialog. - Otherwise,
panelis added into aJFrame.
- Parameters:
owner- The frame's owner, ornullif none.panel- The panel to insert into a frame.title- The frame's title.listener- A listener to receives frame events. If non-null, then this listener will be registered to whatever kind of frame this method will constructs. In the special case where this method constructs an internal frame and thelisteneris not an instance ofInternalFrameListener, then this method will wrap thelistenerinto anInternalFrameListener.- Returns:
- The frame. This frame is not initially visible. The method
Component.setVisible(true)must be invoked in order to show the frame.
- If
-
setTitle
public static void setTitle(Component component, String title)
Set the title of the parent frame or internal frame of the specified component.
-
showOptionDialog
public static boolean showOptionDialog(Component owner, Object dialog, String title)
Brings up a "Ok/Cancel" dialog with no icon. This method can be invoked from any thread and blocks until the user click on "Ok" or "Cancel".- Parameters:
owner- The parent component. Dialog will apears on top of this owner.dialog- The dialog content to show.title- The title string for the dialog.- Returns:
trueif user clicked "Ok",falseotherwise.
-
showOptionDialog
public static boolean showOptionDialog(Component owner, Object dialog, String title, ActionListener reset)
Brings up a "Ok/Cancel/Reset" dialog with no icon. This method can be invoked from any thread and blocks until the user click on "Ok" or "Cancel".- Parameters:
owner- The parent component. Dialog will apears on top of this owner.dialog- The dialog content to show.title- The title string for the dialog.reset- Action to execute when user press "Reset", ornullif there is no "Reset" button. Ifresetis an instance ofAction, the button label will be set according the action's properties.- Returns:
trueif user clicked "Ok",falseotherwise.
-
showMessageDialog
public static void showMessageDialog(Component owner, Object message, String title, int type)
Brings up a message dialog with a "Ok" button. This method can be invoked from any thread and blocks until the user click on "Ok".- Parameters:
owner- The parent component. Dialog will apears on top of this owner.message- The dialog content to show.title- The title string for the dialog.type- The message type (JOptionPane.ERROR_MESSAGE,JOptionPane.INFORMATION_MESSAGE,JOptionPane.WARNING_MESSAGE,JOptionPane.QUESTION_MESSAGEorJOptionPane.PLAIN_MESSAGE).
-
showConfirmDialog
public static boolean showConfirmDialog(Component owner, Object message, String title, int type)
Brings up a confirmation dialog with "Yes/No" buttons. This method can be invoked from any thread and blocks until the user click on "Yes" or "No".- Parameters:
owner- The parent component. Dialog will apears on top of this owner.message- The dialog content to show.title- The title string for the dialog.type- The message type (JOptionPane.ERROR_MESSAGE,JOptionPane.INFORMATION_MESSAGE,JOptionPane.WARNING_MESSAGE,JOptionPane.QUESTION_MESSAGEorJOptionPane.PLAIN_MESSAGE).- Returns:
trueif user clicked on "Yes",falseotherwise.
-
getMultilineLabelFor
public static JComponent getMultilineLabelFor(JComponent owner, String text)
Retourne une étiquette pour la composante spécifiée. Le texte de l'étiquette pourra éventuellement être distribué sur plusieurs lignes.- Parameters:
owner- Composante pour laquelle on construit une étiquette. L'étiquette aura la même largeur queowner.text- Texte à placer dans l'étiquette.
-
getLocale
public static Locale getLocale(Component component)
Returns the locale for the specified component, or a default one if the component is not yet part of a container hierarchy.
-
invokeAndWait
public static void invokeAndWait(Runnable runnable)
Causes runnable to have its run method called in the dispatch thread of the event queue. This will happen after all pending events are processed. The call blocks until this has happened.
-
-