一个关于内部类的小例子

mac2022-06-30  79

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

最新回复(0)