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

SWT 计算器 按钮事件监听 获取按钮text值

SWT 计算器 按钮事件监听 获取按钮text值

阿波罗的战车 2019-03-20 17:14:49
用swt插件做计算器,监听所有按钮。通过按钮text值判断哪个按钮被点击,如"0"按钮被点击,就在text框里加个0.现在问题是怎样在监听函数里得到button的text值。10个数字按钮用一个监听事件来监听的。下面是代码:    Button button = new Button(shell, SWT.NONE);    button.setText("2");    button.setBounds(140, 86, 80, 27);    button.addSelectionListener(al);    //按钮定义SelectionListener al = new SelectionListener() {    @Override    public void widgetSelected(SelectionEvent e) {        // TODO Auto-generated method stub        //Widget b=e.widget        text.setText(e.getSource().toString());     }    @Override    public void widgetDefaultSelected(SelectionEvent e) {        // TODO Auto-generated method stub    }};//监听事件在按钮定义的时候可以用getText()方法得到button text值。在监听函数里有getSource()方法,得到的是Button {0}。我想要的只是个0。有什么方法可以得到button text属性(在监听函数里)。俺是新手,假期学Java,想做个计算器来贯穿Java学习过程。求指点。你们怎么学习Java的?在eclipse里装了swt的例子,还在弄源码。例子像是实验性的东西。有没有swt的例子推荐下。最好有源码。还在官网找文档...
查看完整描述

1 回答

?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

已经解决了,查资料查了很久(官网Javadoc文档,swt example...)。关键是对控件和控件方法属性不熟悉。
解决办法:
定义一个辅助Button用来接收监听事件传来的按钮信息
private static Button button_temp;
在监听事件里对button_temp进行赋值,这样button_temp就可以用getText()方法取到Text值了。
button_temp=(Button) e.widget;
System.out.println(button_temp.getText());

查看完整回答
反对 回复 2019-04-15
  • 1 回答
  • 0 关注
  • 748 浏览

添加回答

举报

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