• 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
  • 相关阅读:
    如何用消息系统避免分布式事务?
    jvm调休,监控
    ClassLoader原理
    JVM结构、GC工作机制详解
    单链表倒置
    hashSet
    HashMap
    hashcode
    深入理解HTTP协议、HTTP协议原理分析
    HTTP协议(详解一)
  • 原文地址:https://www.cnblogs.com/borter/p/9596095.html
Copyright © 2020-2023  润新知