当前位置: 代码迷 >> Eclipse >> 关于事件响应,该如何处理
  详细解决方案

关于事件响应,该如何处理

热度:23   发布时间:2016-04-23 00:43:25.0
关于事件响应
最近在图书馆找书学习swing的知识,对事件响应这个有点迷惑。不多说了,直接上代码。

//关于事件响应。
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class practise2 extends JPanel {
static final int WIDTH = 200 ;
static final int HEIGHT = 300 ;
public static void main(String args []){
JFrame jf = new JFrame("This is a number change window");
jf.setSize(WIDTH,HEIGHT);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setVisible(true);
final JButton tb = new JButton("1");//为什么这个地方一定要设成final.
JPanel contentPane = new JPanel();
jf.setContentPane(contentPane);
contentPane.setLayout(new FlowLayout());
contentPane.add(tb);
tb.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent Event){
tb.setForeground(Color.BLUE);//前面那地方不设置成final的话,这里的tb就会出错,这是为什么?
tb.setBackground(Color.GRAY);
tb.setLocation(22,11);

}
});
}



}

------解决方案--------------------
从内部类中访问本地变量,需要被声明为最终类型
------解决方案--------------------
Java的要求就是这样的;
可以参考一下:http://developer.51cto.com/art/200906/128214.htm
  相关解决方案