java - 为什么用户输入的数字没有出现在 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);
解决方案
如果您删除返回,您应该得到预期的结果。方法中的返回将停止其余代码的执行,因此如果输入 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");
}
...
似乎问题中缺少一些上下文,您如何设置单元格等,但是根据给出的信息,这应该是正确的,如果我错了,请告诉我!
推荐阅读
- java - 合并 Group by 中的两个地图
- node.js - 如何从浏览器链接启动/聚焦电子应用程序?
- python - Opencv addWeighted 到同一个矩阵
- python - Py-Polars 日期时间转换
- java - Spring R2DBC DatabaseClient 丢失 TZ 信息
- python - 如何在 Python 中创建和使用文本文件?
- android - Android后台进程每分钟从网页加载数据
- python - 在 AWS 中,从 sagemaker 执行笔记本
- asynchronous - 为什么在等待点上持有非发送类型会导致非发送未来?
- android - Trigger scanning on a Zebra TC25 with an Android Delphi application