一个关于内部类的小例子

 1 import javax.swing.*;
 2 import java.awt.event.*;
 3 import java.awt.*;
 4 public class InnerButton  {
 5     JFrame frame;
 6     JButton b;
 7     
 8     public static void main(String[] args){
 9         InnerButton gui=new InnerButton();
10         gui.go();
11     }
12     public void go(){
13         frame=new JFrame();
14         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
15         
16         b=new JButton("A");
17         b.addActionListener(new BListener()); //括号里相当于声明了一个BListener()对象。因为,BListener()是一个内部类。通常它是绑定在某个实例上的。
18 

19 frame.getContentPane().add(BorderLayout.SOUTH, b);

20 frame.setSize(300, 300); 21 frame.setVisible(true);

22

23

}
24 class BListener implements ActionListener{ //内部类。

25 public void actionPerformed(ActionEvent e){

26 if(b.getText().equals("A")){ //getText()得到b的Text。b是一个全局变量。为什么在这里不定义为一个静态变量呢。
27 b.setText("B");

28 }else{
29 b.setText("A");

30 }

31 }

32 }

33 }
原文地址:https://www.cnblogs.com/meihao1989/p/3245957.html