【问题标题】:Java - change focus on key pressJava - 改变对按键的关注
【发布时间】:2008-10-31 12:40:42
【问题描述】:

我正在使用 Eclipse 和 SWT 编写用于数据输入的 Java 应用程序。自然,它有很多 Text 对象。

我希望发生的是,当用户在一个字段中输入内容时,焦点会自动更改为下一个字段。

提前致谢

【问题讨论】:

    标签: java eclipse focus swt traversal


    【解决方案1】:
    final Text textBox = new Text(shell, SWT.NONE);
    textBox.addKeyListener(new KeyAdapter() {
        public void keyPressed(KeyEvent e) {
            if (x.getText().length() == 1); {
                x.traverse(SWT.TRAVERSE_TAB_NEXT);
            }
        }
    });
    

    【讨论】:

      【解决方案2】:
      final Text textBox = new Text(shell, SWT.NONE);
      textBox.addKeyListener(new KeyAdapter() {
      
          public void keyPressed(KeyEvent arg0) {
              if (textBox.getText().equals("") == false) {
                  textBox.traverse(SWT.TRAVERSE_TAB_NEXT);
              }
          }});
      

      【讨论】:

        【解决方案3】:

        您可能还想看看 VerifyListener 接口。不过,请参阅这篇有趣的博客文章以获取警告:http://eclipsenuggets.blogspot.com/2008/10/eclipse-bug-patterns-selfish-validation.html

        【讨论】:

          【解决方案4】:

          我假设您想在字段被填充后 更改焦点。我建议使用 DocumentListener(或任何 SWT 调用它)来通知字段内容的更改:如果它具有正确数量的字符,则跳转到下一个字段。

          【讨论】:

            猜你喜欢
            • 2011-09-07
            • 2020-03-05
            • 2021-08-23
            • 2016-03-31
            • 1970-01-01
            • 2014-08-08
            • 2014-11-07
            • 2014-01-04
            • 2012-09-09
            相关资源
            最近更新 更多