使用 JTextArea 的计算器
Posted
技术标签:
【中文标题】使用 JTextArea 的计算器【英文标题】:Calculator using JTextArea 【发布时间】:2017-01-15 22:45:24 【问题描述】:我遇到了一些小问题..
我正在尝试使用 Java 开发一个基本的 GUI 计算器。我使用JTextArea
输入数字并仅执行所有计算。我希望文本区域也显示最终结果,但 基本问题是当我按下加号按钮时。它显示错误并且没有显示任何结果。我知道问题出在textarea.settext("")
,但我不知道如何克服它。
我指定的是下面代码的重要部分,而不是整个代码。
这是我目前的代码:
JTextArea ta = new JTextArea();
ta.setFont(new Font("Monospaced", Font.BOLD, 20));
ta.setBounds(10, 11, 319, 74);
contentPane.add(ta);
JButton button_14 = new JButton("1 ");
button_14.addActionListener(new ActionListener()
public void actionPerformed(ActionEvent e)
ta.append("1");
JButton button_17 = new JButton("+");
button_17.addActionListener(new ActionListener()
public void actionPerformed(ActionEvent e)
num1=Float.parseFloat(ta.getText());
ta.setText("");
ta.setText(ta.getText());
num2=Float.parseFloat(ta.getText());
ans=num1+num2;
JButton button_11 = new JButton("=");
button_11.addActionListener(new ActionListener()
public void actionPerformed(ActionEvent e)
ta.setText(String.valueOf(ans));
【问题讨论】:
这没有意义ta.setText(""); ta.setText(ta.getText());
寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现它所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:如何创建minimal reproducible example
“Plzz 我急需一些帮助..” 你需要的是更好的时间管理技能。不要来这里告诉我们您(对我们)的任意时间限制。我们通常更喜欢帮助能够更好地管理时间的人。 “我正在指定代码的重要部分” 发布 @xenteros 提到的 MCVE。 “它显示错误”总是复制/粘贴错误和异常输出!
是的,我为这样的声明道歉......后来我将我的代码修复为工作状态。谢谢@xenteros
【参考方案1】:
问题出在哪里,你是对的:
ta.setText("");
ta.setText(ta.getText());
num2=Float.parseFloat(ta.getText());
您正在做的是将文本设置为空,然后再次将文本设置为空(因为文本现在什么都没有)。
而你试图从无到有。
无意义:“”
将文本保存在变量中,然后再将其设置为空(如果这是您要完成的任务或不将其设置为“”)。
【讨论】:
感谢老兄的帮助 @VarunTHK7 很高兴,如果这是您寻求的答案,请您批准。以上是关于使用 JTextArea 的计算器的主要内容,如果未能解决你的问题,请参考以下文章
如何计算文本在 JTextArea 中的行数(以及每行中的列数)?
人品计算器 JFrame 窗体软件版 JPanel JTextField JTextArea JButtton JLabel setContentPane