【问题标题】:Select text by default in swingswing默认选择文本
【发布时间】:2012-11-13 06:16:20
【问题描述】:

focusGained 事件发生时,有什么方法可以默认自动选择JTextFieldJTextArea 中的文本?

【问题讨论】:

标签: java swing focus jtextfield jtextarea


【解决方案1】:

你刚刚说了怎么做——一个 FocusListener 的 focusGained 事件。

然后您可以通过 FocusEvent 的getSource() 方法获取已获得焦点的 JComponent,然后对其调用selectAll() 方法。

类似:

FocusAdapter selectAllFocusAdapter = new FocusAdapter() {
  public void focusGained(FocusEvent e) {
    final JTextComponent tComponent = (JTextComponent) e.getSource();
    SwingUtilities.invokeLater(new Runnable() {

      @Override
      public void run() {
        tComponent.selectAll();
      }
    });
    tComponent.selectAll();
  }
};

myJTextField.addFocusListener(selectAllFocusAdapter);
otherJTextField.addFocusListener(selectAllFocusAdapter);
myTextArea.addFocusListener(selectAllFocusAdapter);

【讨论】:

  • @mKorbel:谢谢!已编辑答案,并为您的链接答案加 1+。
  • @Ricardo 这个回答你的问题,注意,对于 JTextArea 不能选择所有正确的方法,我会用插入符号移动到文本的末尾
【解决方案2】:

这是你需要的:

jTextField1.selectAll();

更多内容如下:

jTextField1.addFocusListener(new FocusListener() {

        @Override
        public void focusGained(FocusEvent e) {
            if(jTextField1.getText().equals(initialText))
                //jTextField1.setText("");
                jTextField1.selectAll();
        }

        @Override
        public void focusLost(FocusEvent e) {
            if(jTextField1.getText().equals(""))
                jTextField1.setText("whatever");
        }
    });

【讨论】:

【解决方案3】:

你期待类似的东西

    class MyFocusTextField extends JTextField {
    {
        addFocusListener(new FocusListener() {

            @Override
            public void focusGained(FocusEvent e) {
                FocusTextField.this.select(0, getText().length());
            }

            @Override
            public void focusLost(FocusEvent e) {
                FocusTextField.this.select(0, 0);
            }
        });
    }
}

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2016-09-08
  • 2015-09-05
  • 2012-05-16
  • 1970-01-01
  • 2017-12-18
  • 2015-04-25
  • 1970-01-01
  • 2011-02-17
相关资源
最近更新 更多