首页 > 解决方案 > 为什么用户输入的数字没有出现在 java 单元格中?

问题描述

我正在尝试创建一个游戏,我为希望用户能够输入的单元格设置了下面的代码,这似乎就像我在单元格中键入除数字 1-5 之外的任何内容一样工作,我得到了适当的错误消息,但输入的输入只是没有出现在屏幕上...我如何使它输入的数字显示在选定的单元格中?

addKeyListener(new KeyAdapter(){
 @Override
 public void keyTyped(KeyEvent e){
     char i =(e.getKeyChar());
     trace("i: "+i);
     if ((i!='1')&&(i!='2')&&(i!='3')&&(i!='4')&&(i!='5')){
         panel.setStatus("Invalid input");
     return;
 }
 panel.makeMove(row,col);

标签: javaswingjpanelcell

解决方案


如果您删除返回,您应该得到预期的结果。方法中的返回将停止其余代码的执行,因此如果输入 1 到 5,则永远不会调用最后一行。

addKeyListener(new KeyAdapter(){
 @Override
 public void keyTyped(KeyEvent e){
     char i =(e.getKeyChar());
     trace("i: "+i);
     if ((i!='1')&&(i!='2')&&(i!='3')&&(i!='4')&&(i!='5')){
         panel.setStatus("Invalid input");
     }
...

似乎问题中缺少一些上下文,您如何设置单元格等,但是根据给出的信息,这应该是正确的,如果我错了,请告诉我!


推荐阅读