当以如下方式创建了JButton b1 = new JButton("Open folder");
那么e.getActionCommand()=="Open folder"成否识别这个ActionEvent是由b1发出的呢???
那么e.getActionCommand()=="Open folder"成否识别这个ActionEvent是由b1发出的呢???
解决方案 »
- n&n+1|n+2^n+3=?
- 上楼的说的有道理
- 关于swing的问题,好几天了没解决,请教高手!
- 各位前辈你们有没有java联接数据库的源代码?
- 2008奥运趣味题
- 请问如何读取数据库中的数据用来画图?我已实现读出数据并在浏览器上显示表格,表格中有数据。
- 一个很简单的问题,谁来帮帮我?
- System.out.println("\uFE50\uFE5A\uFE5D\uFE5E\u300c\u300d") ;输出的文字是乱码,有人遇到这个问题吗
- 装什么?
- 在Tomcat中怎样设置session timeout的时间?
- JFC Swing标准教材(第二版) 源代码
- StringBuffer和StringBuilder的区别?
if(e.getSource().equals(b1))
Do;
JButton b1 = new JButton("open folder");
b1.setActionCommand("command");
if(b1.getActionCommand()=="command")
{
................................
}
如果你不设定,那么ActionCommand将采用默认的ActionCommand(就是你按钮的标签--名字)。三楼的---if(b1.getActionCommand()== "command ") ---应该改成
if(b1.getActionCommand().equals("command ")) 因为==表示的是两个对象是否是同一个,而不能表示其内容是否相同。
当然,最好是不用ActionCommand(命令字符串),因为命令字符串存在着风险。后续待查
我们还有 一种方法来确定我们到底是点击了哪个按钮。
JButton b1 = new JButton("left");
JButton b2 = new JButton("right");.....
public void actionPerformed(ActionEvent e){
JButton b =(JButton)e.getSoure();
if(b == b1){...}
else {...}
}
其中getSource方法得到的是事件源,是ActionEvent类,可以用强制类型转换,转到JButton类,然后通过判断事件源和哪个对象是同一个。
自己的一点理解,写出来和大家探讨一下。有不对的请大家指正!谢谢!