【发布时间】:2019-07-18 00:30:07
【问题描述】:
我正在尝试开发一个简单的计算器,当用户继续点击数字时,它们会出现在文本区域中。如果他们单击一个运算符(“+”、“-”、“*”等)、文本区域上的数字以及他们单击的运算符,它们将分别保存在数字和运算符变量上。当用户单击运算符后单击另一个数字时,它应该删除 jtextarea 处的数字,并将新数字写在上面,以便我可以将它存储在第二个数字变量中,最后用两者进行操作数字。
我面临的问题是,当用户第二次单击一个数字时,即单击运算符后,我找不到清除文本区域上的内容的方法,并且还继续附加被点击的数字。如果我输入一个代码来清除文本区域并附加一个数字,它所做的就是清除前一个数字,并写 ONLY ONE NUMBER ,例如,如果我想写“857”它只能写“8”,如果我点击“5”,“8”会被清除,写“5”。
我理解并明白为什么它不起作用,因为每次用户单击数字时都会发生清除代码和附加代码。所以我想知道是否有办法解决这个问题,以及是否有可能:清除文本,然后继续附加文本,即用户第二次单击数字时,它应该将数字附加到屏幕,不清除它。
【问题讨论】:
-
在处理操作员按钮的按下时,您必须设置提醒,接受下一个数字时应清除显示,是吗?那么,您是否记得在输入下一个数字后清除该提醒?
-
请向我们展示您的代码。
-
@KevinAnderson。是的,这就是问题所在,我忘了正确使用该提醒。感谢您的帮助!
-
@PrasadKarunagoda 感谢您的关注。在社区的帮助下,我已经发现主要问题是缺少允许程序相应运行的状态变量。干杯!
标签: java swing append actionlistener jtextarea