Here you can find the source of requestComponentFocus(final Window win, final JComponent comp)
Parameter | Description |
---|---|
win | the parent window |
comp | the component to focus in the window |
public static void requestComponentFocus(final Window win, final JComponent comp)
//package com.java2s; /*/*from w ww . j av a2s . co m*/ * WbSwingUtilities.java * * This file is part of SQL Workbench/J, http://www.sql-workbench.net * * Copyright 2002-2015, Thomas Kellerer * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at. * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * * To contact the author please send an email to: support@sql-workbench.net * */ import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Main { /** * Registers a (temporary) WindowListener with the window that will activate the passed component * as soon as the windowActivated() event is received. * * @param win the parent window * @param comp the component to focus in the window */ public static void requestComponentFocus(final Window win, final JComponent comp) { win.addWindowListener(new WindowAdapter() { @Override public void windowActivated(WindowEvent evt) { EventQueue.invokeLater(new Runnable() { @Override public void run() { comp.requestFocus(); } }); win.removeWindowListener(this); } }); } /** * A simple wrapper around EventQueue.invokeLater(). * * @param runner the task to execute */ public static void invokeLater(Runnable runner) { EventQueue.invokeLater(runner); } /** * Schedules a requestFocus() call in the AWT event queue. * * @param comp the component to focus * @see java.awt.EventQueue#invokeLater(java.lang.Runnable) */ public static void requestFocus(final JComponent comp) { if (comp == null) return; EventQueue.invokeLater(new Runnable() { @Override public void run() { comp.requestFocus(); } }); } }