zoukankan      html  css  js  c++  java
  • e614. Setting the Initial Focused Component in a Window

    There is no straightforward way to set the initial focused component in a window. The typical method is to add a window listener to listen for the window opened event and then make the desired component request the focus.

        // Create frame and three buttons
        JFrame frame = new JFrame();
        JButton component1 = new JButton("1");
        JButton component2 = new JButton("2");
        JButton component3 = new JButton("3");
        
        // Set component with initial focus; must be done before the frame is made visible
        InitialFocusSetter.setInitialFocus(frame, component2);
        
        class InitialFocusSetter {
            public static void setInitialFocus(Window w, Component c) {
                w.addWindowListener(new FocusSetter(c));
            }
        
            public static class FocusSetter extends WindowAdapter {
                Component initComp;
                FocusSetter(Component c) {
                    initComp = c;
                }
                public void windowOpened(WindowEvent e) {
                    initComp.requestFocus();
        
                    // Since this listener is no longer needed, remove it
                    e.getWindow().removeWindowListener(this);
                }
            }
        }
    
    Related Examples
  • 相关阅读:
    前端开发中的设计模式
    前端常见的攻击
    前端笔试题
    JavaScript中的回调地狱及解决方法
    JavaScript中的编码解码
    JavaScript中操作节点
    前端常见面试题
    Vue的使用总结(2)
    JavaScript中的事件
    Vue的使用总结(1)
  • 原文地址:https://www.cnblogs.com/borter/p/9596095.html
Copyright © 2011-2022 走看看