focused component reference

前端 未结 3 1184
灰色年华
灰色年华 2021-01-22 22:16

I am working on a simple java swing based application. How would I get and set the text of the currently focused textfield/textarea of a form?

I know how to determine

3条回答
  •  清酒与你
    2021-01-22 22:57

    Depending on your exact context, you might consider to use a custom TextAction: its method getTextComponent(ActionEvent) returns the most recent focused text component. A code snippet:

        Action logSelected = new TextAction("log selected") {
    
            @Override
            public void actionPerformed(ActionEvent e) {
                JTextComponent text = getTextComponent(e);
                System.out.println("selected: " + text.getSelectedText());
            }
    
        };
    
        JComponent content = new JPanel();
        content.add(new JTextField("sometext", 20));
        content.add(new JTextField("other content", 20));
        content.add(new JCheckBox("just some focusable comp"));
        content.add(new JButton(logSelected));
    

提交回复
热议问题