From 3affc37a8ed778d47204c81a428ea56e6c2ac49c Mon Sep 17 00:00:00 2001 From: Artur Signell Date: Tue, 18 Jun 2013 21:22:09 +0300 Subject: Enable using @Stylesheet with vaadin:// (#9934) Change-Id: I895fad31ef5b31a395cea95e64d6b183d718056f --- server/src/com/vaadin/annotations/StyleSheet.java | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'server/src') diff --git a/server/src/com/vaadin/annotations/StyleSheet.java b/server/src/com/vaadin/annotations/StyleSheet.java index e06140fcd5..2e15d9481c 100644 --- a/server/src/com/vaadin/annotations/StyleSheet.java +++ b/server/src/com/vaadin/annotations/StyleSheet.java @@ -32,6 +32,11 @@ import com.vaadin.server.ClientConnector; * Relative urls are mapped to APP/PUBLISHED/[url] which are by default served * from the classpath relative to the class where the annotation is defined. *

+ * Special Vaadin urls are also supported. The most useful is vaadin:// which + * maps to the location of the automatically published VAADIN folder. Using the + * VAADIN folder and vaadin:// you can publish stylesheets which use images or + * other files with relative paths. + *

* Example: {@code @StyleSheet( "http://host.com/file1.css", "file2.css"})} on * the class com.example.MyConnector would load the file * http://host.com/file1.css as is and file2.css from /com/example/file2.css on -- cgit v1.2.3 From 177c424f438df3bcf752281fadef9bfb0e0e1a42 Mon Sep 17 00:00:00 2001 From: Artur Signell Date: Mon, 24 Jun 2013 13:15:17 +0300 Subject: Updated Atmosphere dependency to 1.0.14.vaadin2 (#12017, #12033, #12115) Change-Id: I068cca8ae2d3739b3a8ba7b01cd83b1b69509dd2 --- push/build.xml | 2 +- push/ivy.xml | 2 +- server/src/com/vaadin/server/Constants.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) (limited to 'server/src') diff --git a/push/build.xml b/push/build.xml index f18caf69b4..d8661e9124 100644 --- a/push/build.xml +++ b/push/build.xml @@ -13,7 +13,7 @@ - + diff --git a/push/ivy.xml b/push/ivy.xml index 444e8908e0..8167bf300b 100644 --- a/push/ivy.xml +++ b/push/ivy.xml @@ -28,7 +28,7 @@ + rev="1.0.14.vaadin2" conf="build,ide,test -> default"> diff --git a/server/src/com/vaadin/server/Constants.java b/server/src/com/vaadin/server/Constants.java index bcdb62064b..342e693afb 100644 --- a/server/src/com/vaadin/server/Constants.java +++ b/server/src/com/vaadin/server/Constants.java @@ -65,7 +65,7 @@ public interface Constants { + " Widgetset version: %s\n" + "================================================================="; - static final String REQUIRED_ATMOSPHERE_VERSION = "1.0.14-vaadin1"; + static final String REQUIRED_ATMOSPHERE_VERSION = "1.0.14.vaadin2"; static final String INVALID_ATMOSPHERE_VERSION_WARNING = "\n" + "=================================================================\n" -- cgit v1.2.3 From 90ed6576c040d7cd63abbde20302704c0baac417 Mon Sep 17 00:00:00 2001 From: Artur Signell Date: Tue, 25 Jun 2013 12:58:23 +0300 Subject: Use atmosphere 1.0.14.vaadin3 which fixes Android 4.1 support (#12101) Change-Id: I75cd1eebeeb5836b9205a9a1e28795be300d135a --- push/build.xml | 2 +- push/ivy.xml | 2 +- server/src/com/vaadin/server/Constants.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) (limited to 'server/src') diff --git a/push/build.xml b/push/build.xml index d8661e9124..042e513830 100644 --- a/push/build.xml +++ b/push/build.xml @@ -13,7 +13,7 @@ - + diff --git a/push/ivy.xml b/push/ivy.xml index 8167bf300b..615e404db3 100644 --- a/push/ivy.xml +++ b/push/ivy.xml @@ -28,7 +28,7 @@ + rev="1.0.14.vaadin3" conf="build,ide,test -> default"> diff --git a/server/src/com/vaadin/server/Constants.java b/server/src/com/vaadin/server/Constants.java index 342e693afb..ed65b53183 100644 --- a/server/src/com/vaadin/server/Constants.java +++ b/server/src/com/vaadin/server/Constants.java @@ -65,7 +65,7 @@ public interface Constants { + " Widgetset version: %s\n" + "================================================================="; - static final String REQUIRED_ATMOSPHERE_VERSION = "1.0.14.vaadin2"; + static final String REQUIRED_ATMOSPHERE_VERSION = "1.0.14.vaadin3"; static final String INVALID_ATMOSPHERE_VERSION_WARNING = "\n" + "=================================================================\n" -- cgit v1.2.3 From 172d704fe372885e81cc83fe768281e40decfb3a Mon Sep 17 00:00:00 2001 From: Artur Signell Date: Tue, 25 Jun 2013 22:40:48 +0300 Subject: Actually show loading indicator during loading (#12128) * Add theme name already during bootstrap Change-Id: I78da3029b818ced51714d385cd77f5ba9bfce625 --- WebContent/VAADIN/themes/base/common/common.scss | 2 +- server/src/com/vaadin/server/BootstrapHandler.java | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) (limited to 'server/src') diff --git a/WebContent/VAADIN/themes/base/common/common.scss b/WebContent/VAADIN/themes/base/common/common.scss index 48890488fb..c32116cda8 100644 --- a/WebContent/VAADIN/themes/base/common/common.scss +++ b/WebContent/VAADIN/themes/base/common/common.scss @@ -11,7 +11,7 @@ .v-caption { cursor: default; } -body &.v-app-loading { +body &.v-app .v-app-loading { /* You can use this to provide indication for the user that the application is loading. */ /* It is applied to the same element as .v-app */ background-image: url(img/loading-indicator.gif); diff --git a/server/src/com/vaadin/server/BootstrapHandler.java b/server/src/com/vaadin/server/BootstrapHandler.java index dddfb385a6..b21fdb0b74 100644 --- a/server/src/com/vaadin/server/BootstrapHandler.java +++ b/server/src/com/vaadin/server/BootstrapHandler.java @@ -363,6 +363,7 @@ public abstract class BootstrapHandler extends SynchronizedRequestHandler { Element mainDiv = new Element(Tag.valueOf("div"), ""); mainDiv.attr("id", context.getAppId()); mainDiv.addClass("v-app"); + mainDiv.addClass(context.getThemeName()); if (style != null && style.length() != 0) { mainDiv.attr("style", style); } -- cgit v1.2.3 From 6c10136ae17f62c37c65805ff8847d86ce1733f7 Mon Sep 17 00:00:00 2001 From: Artur Signell Date: Wed, 26 Jun 2013 09:41:17 +0300 Subject: Use varargs instead of array where appropriate (#4513) Change-Id: Ide9349b6afa7e56ae04b7727134971ebf81c0b03 --- server/src/com/vaadin/data/Buffered.java | 15 +-------------- server/src/com/vaadin/data/Validator.java | 2 +- server/src/com/vaadin/data/util/BeanItem.java | 2 +- server/src/com/vaadin/data/util/sqlcontainer/RowId.java | 2 +- .../com/vaadin/data/util/sqlcontainer/TemporaryRowId.java | 2 +- server/src/com/vaadin/event/ShortcutAction.java | 6 +++--- server/src/com/vaadin/server/CompositeErrorMessage.java | 6 +++--- server/src/com/vaadin/ui/Form.java | 2 +- server/src/com/vaadin/ui/Table.java | 6 +++--- 9 files changed, 15 insertions(+), 28 deletions(-) (limited to 'server/src') diff --git a/server/src/com/vaadin/data/Buffered.java b/server/src/com/vaadin/data/Buffered.java index bbfc04b73a..0d6722f71f 100644 --- a/server/src/com/vaadin/data/Buffered.java +++ b/server/src/com/vaadin/data/Buffered.java @@ -151,19 +151,6 @@ public interface Buffered extends Serializable { this.source = source; } - /** - * Creates a source exception from a cause exception. - * - * @param source - * the source object implementing the Buffered interface. - * @param cause - * the original cause for this exception. - */ - public SourceException(Buffered source, Throwable cause) { - this.source = source; - causes = new Throwable[] { cause }; - } - /** * Creates a source exception from multiple causes. * @@ -172,7 +159,7 @@ public interface Buffered extends Serializable { * @param causes * the original causes for this exception. */ - public SourceException(Buffered source, Throwable[] causes) { + public SourceException(Buffered source, Throwable... causes) { this.source = source; this.causes = causes; } diff --git a/server/src/com/vaadin/data/Validator.java b/server/src/com/vaadin/data/Validator.java index c4f008cb39..4f3fbe2cc3 100644 --- a/server/src/com/vaadin/data/Validator.java +++ b/server/src/com/vaadin/data/Validator.java @@ -105,7 +105,7 @@ public interface Validator extends Serializable { * this exception. */ public InvalidValueException(String message, - InvalidValueException[] causes) { + InvalidValueException... causes) { super(message); if (causes == null) { throw new NullPointerException( diff --git a/server/src/com/vaadin/data/util/BeanItem.java b/server/src/com/vaadin/data/util/BeanItem.java index 24eb2505e4..fc51be8f36 100644 --- a/server/src/com/vaadin/data/util/BeanItem.java +++ b/server/src/com/vaadin/data/util/BeanItem.java @@ -141,7 +141,7 @@ public class BeanItem extends PropertysetItem { * @param propertyIds * ids of the properties. */ - public BeanItem(BT bean, String[] propertyIds) { + public BeanItem(BT bean, String... propertyIds) { this(bean, Arrays.asList(propertyIds)); } diff --git a/server/src/com/vaadin/data/util/sqlcontainer/RowId.java b/server/src/com/vaadin/data/util/sqlcontainer/RowId.java index 8fd8eec697..c375bd5a4a 100644 --- a/server/src/com/vaadin/data/util/sqlcontainer/RowId.java +++ b/server/src/com/vaadin/data/util/sqlcontainer/RowId.java @@ -34,7 +34,7 @@ public class RowId implements Serializable { protected RowId() { } - public RowId(Object[] id) { + public RowId(Object... id) { if (id == null) { throw new IllegalArgumentException("id parameter must not be null!"); } diff --git a/server/src/com/vaadin/data/util/sqlcontainer/TemporaryRowId.java b/server/src/com/vaadin/data/util/sqlcontainer/TemporaryRowId.java index fbf53121da..03f7f23fdd 100644 --- a/server/src/com/vaadin/data/util/sqlcontainer/TemporaryRowId.java +++ b/server/src/com/vaadin/data/util/sqlcontainer/TemporaryRowId.java @@ -18,7 +18,7 @@ package com.vaadin.data.util.sqlcontainer; public class TemporaryRowId extends RowId { private static final long serialVersionUID = -641983830469018329L; - public TemporaryRowId(Object[] id) { + public TemporaryRowId(Object... id) { super(id); } diff --git a/server/src/com/vaadin/event/ShortcutAction.java b/server/src/com/vaadin/event/ShortcutAction.java index 78eec53112..5ec4d3bfa0 100644 --- a/server/src/com/vaadin/event/ShortcutAction.java +++ b/server/src/com/vaadin/event/ShortcutAction.java @@ -70,7 +70,7 @@ public class ShortcutAction extends Action { * @param m * optional modifier keys */ - public ShortcutAction(String caption, int kc, int[] m) { + public ShortcutAction(String caption, int kc, int... m) { super(caption); keyCode = kc; modifiers = m; @@ -91,7 +91,7 @@ public class ShortcutAction extends Action { * @param m * optional modifier keys */ - public ShortcutAction(String caption, Resource icon, int kc, int[] m) { + public ShortcutAction(String caption, Resource icon, int kc, int... m) { super(caption, icon); keyCode = kc; modifiers = m; @@ -174,7 +174,7 @@ public class ShortcutAction extends Action { * @param shorthandCaption * @param modifierKeys */ - public ShortcutAction(String shorthandCaption, int[] modifierKeys) { + public ShortcutAction(String shorthandCaption, int... modifierKeys) { // && -> & etc super(SHORTHAND_ESCAPE.matcher(shorthandCaption).replaceAll("$1$2$3")); // replace escaped chars with something that won't accidentally match diff --git a/server/src/com/vaadin/server/CompositeErrorMessage.java b/server/src/com/vaadin/server/CompositeErrorMessage.java index 5ae7cfd577..1645285f9b 100644 --- a/server/src/com/vaadin/server/CompositeErrorMessage.java +++ b/server/src/com/vaadin/server/CompositeErrorMessage.java @@ -32,10 +32,10 @@ public class CompositeErrorMessage extends AbstractErrorMessage { * Constructor for CompositeErrorMessage. * * @param errorMessages - * the Array of error messages that are listed togeter. Nulls are - * ignored, but at least one message is required. + * the array of error messages that are listed together. Nulls + * are ignored, but at least one message is required. */ - public CompositeErrorMessage(ErrorMessage[] errorMessages) { + public CompositeErrorMessage(ErrorMessage... errorMessages) { super(null); setErrorLevel(ErrorLevel.INFORMATION); diff --git a/server/src/com/vaadin/ui/Form.java b/server/src/com/vaadin/ui/Form.java index 9d0bb41cac..706c103cd7 100644 --- a/server/src/com/vaadin/ui/Form.java +++ b/server/src/com/vaadin/ui/Form.java @@ -1131,7 +1131,7 @@ public class Form extends AbstractField implements Item.Editor, * @param visibleProperties * the visibleProperties to set. */ - public void setVisibleItemProperties(Object[] visibleProperties) { + public void setVisibleItemProperties(Object... visibleProperties) { LinkedList v = new LinkedList(); for (int i = 0; i < visibleProperties.length; i++) { v.add(visibleProperties[i]); diff --git a/server/src/com/vaadin/ui/Table.java b/server/src/com/vaadin/ui/Table.java index a688b2eb45..b5606b4e67 100644 --- a/server/src/com/vaadin/ui/Table.java +++ b/server/src/com/vaadin/ui/Table.java @@ -623,7 +623,7 @@ public class Table extends AbstractSelect implements Action.Container, * @param visibleColumns * the Array of shown property id:s. */ - public void setVisibleColumns(Object[] visibleColumns) { + public void setVisibleColumns(Object... visibleColumns) { // Visible columns must exist if (visibleColumns == null) { @@ -722,7 +722,7 @@ public class Table extends AbstractSelect implements Action.Container, * the Array of column headers that match the * {@link #getVisibleColumns()} method. */ - public void setColumnHeaders(String[] columnHeaders) { + public void setColumnHeaders(String... columnHeaders) { if (columnHeaders.length != visibleColumns.size()) { throw new IllegalArgumentException( @@ -781,7 +781,7 @@ public class Table extends AbstractSelect implements Action.Container, * the Array of icons that match the {@link #getVisibleColumns()} * . */ - public void setColumnIcons(Resource[] columnIcons) { + public void setColumnIcons(Resource... columnIcons) { if (columnIcons.length != visibleColumns.size()) { throw new IllegalArgumentException( -- cgit v1.2.3 From c107efcb1bdcf1528b56016dc277fdd44513077d Mon Sep 17 00:00:00 2001 From: Leif Åstrand Date: Fri, 28 Jun 2013 14:42:43 +0300 Subject: Remove sub window references from Window javadocs (#9892) Change-Id: I51f1f39a9730313e0150bff2fccdba67e69e9d95 --- server/src/com/vaadin/ui/Window.java | 113 ++++++++++++++++------------------- 1 file changed, 51 insertions(+), 62 deletions(-) (limited to 'server/src') diff --git a/server/src/com/vaadin/ui/Window.java b/server/src/com/vaadin/ui/Window.java index 700d0eb387..5820161c1c 100644 --- a/server/src/com/vaadin/ui/Window.java +++ b/server/src/com/vaadin/ui/Window.java @@ -80,14 +80,14 @@ public class Window extends Panel implements FocusNotifier, BlurNotifier, }; /** - * Creates a new, empty sub window + * Creates a new, empty window */ public Window() { this("", null); } /** - * Creates a new, empty sub window with a given title. + * Creates a new, empty window with a given title. * * @param caption * the title of the window. @@ -97,7 +97,7 @@ public class Window extends Panel implements FocusNotifier, BlurNotifier, } /** - * Creates a new, empty sub window with the given content and title. + * Creates a new, empty window with the given content and title. * * @param caption * the title of the window. @@ -214,15 +214,12 @@ public class Window extends Panel implements FocusNotifier, BlurNotifier, * Method that handles window closing (from UI). * *

- * By default, sub-windows are removed from their respective parent windows - * and thus visually closed on browser-side. Browser-level windows also - * closed on the client-side, but they are not implicitly removed from the - * application. + * By default, windows are removed from their respective UIs and thus + * visually closed on browser-side. *

* *

- * To explicitly close a sub-window, use {@link #removeWindow(Window)}. To - * react to a window being closed (after it is closed), register a + * To react to a window being closed (after it is closed), register a * {@link CloseListener}. *

*/ @@ -233,7 +230,7 @@ public class Window extends Panel implements FocusNotifier, BlurNotifier, if (uI != null) { // focus is restored to the parent window uI.focus(); - // subwindow is removed from the UI + // window is removed from the UI uI.removeWindow(this); } } @@ -329,7 +326,7 @@ public class Window extends Panel implements FocusNotifier, BlurNotifier, /** * An interface used for listening to Window close events. Add the - * CloseListener to a browser level window or a sub window and + * CloseListener to a window and * {@link CloseListener#windowClose(CloseEvent)} will be called whenever the * user closes the window. * @@ -353,8 +350,8 @@ public class Window extends Panel implements FocusNotifier, BlurNotifier, /** * Adds a CloseListener to the window. * - * For a sub window the CloseListener is fired when the user closes it - * (clicks on the close button). + * For a window the CloseListener is fired when the user closes it (clicks + * on the close button). * * For a browser level window the CloseListener is fired when the browser * level window is closed. Note that closing a browser level window does not @@ -636,8 +633,8 @@ public class Window extends Panel implements FocusNotifier, BlurNotifier, } /** - * Sets sub-window modal, so that widgets behind it cannot be accessed. - * Note: affects sub-windows only. + * Sets window modality. When a modal window is open, components outside + * that window it cannot be accessed. * * @param modal * true if modality is to be turned on @@ -655,7 +652,7 @@ public class Window extends Panel implements FocusNotifier, BlurNotifier, } /** - * Sets sub-window resizable. Note: affects sub-windows only. + * Sets window resizable. * * @param resizable * true if resizability is to be turned on @@ -699,7 +696,7 @@ public class Window extends Panel implements FocusNotifier, BlurNotifier, /** * Sets this window to be centered relative to its parent window. Affects - * sub-windows only. If the window is resized as a result of the size of its + * windows only. If the window is resized as a result of the size of its * content changing, it will keep itself centered as long as its position is * not explicitly changed programmatically or by the user. *

@@ -711,64 +708,59 @@ public class Window extends Panel implements FocusNotifier, BlurNotifier, } /** - * Returns the closable status of the sub window. If a sub window is - * closable it typically shows an X in the upper right corner. Clicking on - * the X sends a close event to the server. Setting closable to false will - * remove the X from the sub window and prevent the user from closing the - * window. + * Returns the closable status of the window. If a window is closable, it + * typically shows an X in the upper right corner. Clicking on the X sends a + * close event to the server. Setting closable to false will remove the X + * from the window and prevent the user from closing the window. * - * Note! For historical reasons readonly controls the closability of the sub + * Note! For historical reasons readonly controls the closability of the * window and therefore readonly and closable affect each other. Setting * readonly to true will set closable to false and vice versa. *

- * Closable only applies to sub windows, not to browser level windows. * - * @return true if the sub window can be closed by the user. + * @return true if the window can be closed by the user. */ public boolean isClosable() { return !isReadOnly(); } /** - * Sets the closable status for the sub window. If a sub window is closable - * it typically shows an X in the upper right corner. Clicking on the X - * sends a close event to the server. Setting closable to false will remove - * the X from the sub window and prevent the user from closing the window. + * Sets the closable status for the window. If a window is closable it + * typically shows an X in the upper right corner. Clicking on the X sends a + * close event to the server. Setting closable to false will remove the X + * from the window and prevent the user from closing the window. * - * Note! For historical reasons readonly controls the closability of the sub + * Note! For historical reasons readonly controls the closability of the * window and therefore readonly and closable affect each other. Setting * readonly to true will set closable to false and vice versa. *

- * Closable only applies to sub windows, not to browser level windows. * * @param closable - * determines if the sub window can be closed by the user. + * determines if the window can be closed by the user. */ public void setClosable(boolean closable) { setReadOnly(!closable); } /** - * Indicates whether a sub window can be dragged or not. By default a sub - * window is draggable. + * Indicates whether a window can be dragged or not. By default a window is + * draggable. *

- * Draggable only applies to sub windows, not to browser level windows. * * @param draggable - * true if the sub window can be dragged by the user + * true if the window can be dragged by the user */ public boolean isDraggable() { return getState().draggable; } /** - * Enables or disables that a sub window can be dragged (moved) by the user. - * By default a sub window is draggable. + * Enables or disables that a window can be dragged (moved) by the user. By + * default a window is draggable. *

- * Draggable only applies to sub windows, not to browser level windows. * * @param draggable - * true if the sub window can be dragged by the user + * true if the window can be dragged by the user */ public void setDraggable(boolean draggable) { getState().draggable = draggable; @@ -807,8 +799,8 @@ public class Window extends Panel implements FocusNotifier, BlurNotifier, * Makes is possible to close the window by pressing the given * {@link KeyCode} and (optional) {@link ModifierKey}s.
* Note that this shortcut only reacts while the window has focus, closing - * itself - if you want to close a subwindow from a parent window, use - * {@link #addAction(com.vaadin.event.Action)} of the parent window instead. + * itself - if you want to close a window from a UI, use + * {@link UI#addAction(com.vaadin.event.Action)} of the UI instead. * * @param keyCode * the keycode for invoking the shortcut @@ -842,10 +834,10 @@ public class Window extends Panel implements FocusNotifier, BlurNotifier, *

      * 
      *  // within the window using helper
-     *  subWindow.setCloseShortcut(KeyCode.ESCAPE, null);
+     *  window.setCloseShortcut(KeyCode.ESCAPE, null);
      * 
      *  // or globally
-     *  getWindow().addAction(new Window.CloseShortcut(subWindow, KeyCode.ESCAPE));
+     *  getUI().addAction(new Window.CloseShortcut(window, KeyCode.ESCAPE));
      * 
      * 
* @@ -902,14 +894,13 @@ public class Window extends Panel implements FocusNotifier, BlurNotifier, } } - /** - * Note, that focus/blur listeners in Window class are only supported by sub - * windows. Also note that Window is not considered focused if its contained - * component currently has focus. + /* + * (non-Javadoc) * - * @see com.vaadin.event.FieldEvents.FocusNotifier#addListener(com.vaadin.event.FieldEvents.FocusListener) + * @see + * com.vaadin.event.FieldEvents.FocusNotifier#addFocusListener(com.vaadin + * .event.FieldEvents.FocusListener) */ - @Override public void addFocusListener(FocusListener listener) { addListener(FocusEvent.EVENT_ID, FocusEvent.class, listener, @@ -941,14 +932,13 @@ public class Window extends Panel implements FocusNotifier, BlurNotifier, removeFocusListener(listener); } - /** - * Note, that focus/blur listeners in Window class are only supported by sub - * windows. Also note that Window is not considered focused if its contained - * component currently has focus. + /* + * (non-Javadoc) * - * @see com.vaadin.event.FieldEvents.BlurNotifier#addListener(com.vaadin.event.FieldEvents.BlurListener) + * @see + * com.vaadin.event.FieldEvents.BlurNotifier#addBlurListener(com.vaadin. + * event.FieldEvents.BlurListener) */ - @Override public void addBlurListener(BlurListener listener) { addListener(BlurEvent.EVENT_ID, BlurEvent.class, listener, @@ -982,16 +972,15 @@ public class Window extends Panel implements FocusNotifier, BlurNotifier, /** * {@inheritDoc} * - * If the window is a sub-window focusing will cause the sub-window to be - * brought on top of other sub-windows on gain keyboard focus. + * Cause the window to be brought on top of other windows and gain keyboard + * focus. */ - @Override public void focus() { /* - * When focusing a sub-window it basically means it should be brought to - * the front. Instead of just moving the keyboard focus we focus the - * window and bring it top-most. + * When focusing a window it basically means it should be brought to the + * front. Instead of just moving the keyboard focus we focus the window + * and bring it top-most. */ super.focus(); bringToFront(); -- cgit v1.2.3