Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java:处理';-';自定义组件文本字段中的字符_Java_Components_Keyevent - Fatal编程技术网

Java:处理';-';自定义组件文本字段中的字符

Java:处理';-';自定义组件文本字段中的字符,java,components,keyevent,Java,Components,Keyevent,我有一个自定义文本字段,只接受其中的数字 除了我尝试处理负号(-)之外,一切都正常 当我从符号开始时,这可以很好地工作,但当我已经有了数字并且想在前面添加一个-时就不行了 我真正需要的是一种方法来获得这个角色插入的位置,但我找不到 有什么想法吗?您可以通过该方法获得文本字段中的当前位置 在文本组件上使用或可能更容易完成此任务。您可以通过该方法获取文本字段中的当前位置 在文本组件上使用a或a可能更容易完成此任务。如果控件是a或派生自a,则可以尝试使用getCaretPosition方法检查是否在文

我有一个自定义文本字段,只接受其中的数字

除了我尝试处理负号(
-
)之外,一切都正常

当我从符号开始时,这可以很好地工作,但当我已经有了数字并且想在前面添加一个
-
时就不行了

我真正需要的是一种方法来获得这个角色插入的位置,但我找不到


有什么想法吗?

您可以通过该方法获得文本字段中的当前位置


在文本组件上使用或可能更容易完成此任务。

您可以通过该方法获取文本字段中的当前位置


在文本组件上使用a或a可能更容易完成此任务。

如果控件是a或派生自a,则可以尝试使用
getCaretPosition
方法检查是否在文本开头键入输入。

如果控件是a或派生自a,您可以尝试使用
getCaretPosition
方法检查输入是否在文本开头键入。

“有想法吗?”修复caps键。“有想法吗?”修复caps键。Thx我只是缺少了carret。我已经协调了DocumentListner,但是我所做的事情感觉非常复杂,InputVerifier似乎只控制用户以后输入的内容,而我只想创建一个数字字段。Thx我只是错过了carret。我对DocumentListner进行了协调,但对于我所做的工作来说,它感觉非常复杂,InputVerifier似乎只控制用户随后输入的内容,而我只想创建一个数字字段。
public void processKeyEvent(KeyEvent ev) {

   char c = ev.getKeyChar();
   [...]

   if(c == '-' && getDocument().getLength() > 0 ){ 
      ev.consume();
   }else{
      super.processKeyEvent(ev);
   }
}