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; /*// w w w .j av a 2s .c o m * WbSwingUtilities.java * * This file is part of SQL Workbench/J, http://www.sql-workbench.net * * Copyright 2002-2017, Thomas Kellerer * * Licensed under a modified Apache License, Version 2.0 * that restricts the use for certain governments. * You may not use this file except in compliance with the License. * You may obtain a copy of the License at. * * http://sql-workbench.net/manual/license.html * * 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 java.awt.EventQueue; import java.awt.Window; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.JComponent; 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(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); } }