为了账号安全,请及时绑定邮箱和手机立即绑定

如何在AWT(计算器作业)中找到按钮源

如何在AWT(计算器作业)中找到按钮源

隔江千里 2019-06-06 13:18:47
如何在AWT(计算器作业)中找到按钮源我们被要求制作一个简单的GUI计算器,我使用getSource()来检测按钮,因为这就是他们教我们的。它的工作方式是输入第1和第2值,然后选择操作,它成功了。但我犯了一个错误,因为他们想让我们做的是,数字也应该是按钮,就像一个真正的计算器。那么,如何使用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 Label("Result: ");         tf1 = new TextField(15);         tf2 = new TextField(15);         tf3 = new TextField(15);         bAdd = new Button("+");         bSub = new Button("-");         bMul = new Button("*");         bDiv = new Button("/");         bClear = new Button("C");     }     public void launchFrame()     {         // use default layout manager of the Panel (FlowLayout)         p1.add(l1);         p1.add(tf1);         p2.add(l2);         p2.add(tf2);         p3.add(l3);         p3.add(tf3);         p4.add(bAdd);         p4.add(bSub);         p4.add(bMul);         p4.add(bDiv);         p4.add(bClear);         // change the layout manager of the Frame,          // use GridLayout(4, 1)         f.setLayout(new GridLayout(4, 1));         f.add(p1);         f.add(p2);         f.add(p3);         f.add(p4);         f.pack();         f.setVisible(true);         // register event handlers         bAdd.addActionListener(this);         bSub.addActionListener(this);         bMul.addActionListener(this);         bDiv.addActionListener(this);         bClear.addActionListener(this);         f.addWindowListener(new MyCloseButtonHandler());     }
查看完整描述

2 回答

?
LEATH

TA贡献1936条经验 获得超6个赞

您可以检查您的源代码是否是Button(实际上不是本质的,因为您应该知道它只从一个按钮调用),然后键入强制转换到一个按钮,然后使用.getText()

String sourceText;if (ae.getSource() instanceof Button) {sourceText = ((Button)ae.getSource()).getText();}


查看完整回答
反对 回复 2019-06-06
  • 2 回答
  • 0 关注
  • 494 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信