我们被要求制作一个简单的GUI计算器,我使用getSource()来检测按钮,这就是他们教给我们的东西.它通过键入第一个和第二个值然后选择操作来工作,它工作.但我犯了一个错误,因为他们要我们做的是数字也应该是按钮,就像真正的计算器一样.那么如何使用getSource()获取每个按钮的值?就像当我按下按钮1和2等于3.继承人我做了什么
import java.awt.*;
import java.awt.event.*;
public class SimpleCalculator implements ActionListener
{
// containers
private Frame f;
private Panel p1, p2, p3, p4;
// components
private Label l1, l2, l3;
private TextField tf1, tf2, tf3;
private Button bAdd, bSub, bMul, bDiv, bClear;
public SimpleCalculator()
{
f = new Frame("My First GUI App");
p1 = new Panel();
p2 = new Panel();
p3 = new Panel();
p4 = new Panel();
l1 = new Label("First: ");
l2 = new Label("Second: ");
l3 = new …Run Code Online (Sandbox Code Playgroud) 一个有点人为的例子来说明我的问题。想象一下,我们有一些 javascript 函数库,这些函数库已经由一大群前端开发人员每天维护和更新。具体来说,想象一个这样的函数看起来像这样:
function employeesForStore(store) {
var dictionary = {
"downtown": ["Joe", "Mary", "Steve"],
"uptown": ["Jules", "Vincent", "Matt"],
// and so on for hundreds of locations
};
return dictionary[store];
}
Run Code Online (Sandbox Code Playgroud)
注意:请忽略此函数实现的细节。实际的函数可能比简单的 JSON 字典查找复杂得多,并且假设我们不知道有关 js 函数的任何实现细节。我们所知道的是它接受一个字符串参数并返回字符串数组。
现在我们想在我们的 Java 代码中利用这个功能。也就是说,在我们的 Java 代码中,我们希望“加载”这个函数,然后能够多次调用它,传递Stringargs 并接收String[]或ArrayList<String>结果。
到目前为止,从搜索 SO 和 google 来看,我知道这将涉及使用:
javax.script.ScriptEngineManagerjavax.script.ScriptEnginescriptEngine.getContext()用于将值传递给函数并接收结果。我对上面的细节有点模糊,特别是因为我发现的大多数示例都涉及一次运行 javascript 代码,而不是使 javascript 函数可用于 Java。
employeesForStore("downtown")并将其结果存储在本机 javaString[]或List<String>名为downtownResults …