Mega Code Archive

 
Categories / Java / Swing JFC
 

Using anonymous inner classes

// : c14:Button2b.java // Using anonymous inner classes. // <applet code=Button2b width=200 height=75></applet> // From 'Thinking in Java, 3rd ed.' (c) Bruce Eckel 2002 // www.BruceEckel.com. See copyright notice in CopyRight.txt. import java.awt.Container; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JApplet; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JTextField; public class Button2b extends JApplet {   private JButton b1 = new JButton("Button 1"), b2 = new JButton("Button 2");   private JTextField txt = new JTextField(10);   private ActionListener bl = new ActionListener() {     public void actionPerformed(ActionEvent e) {       String name = ((JButton) e.getSource()).getText();       txt.setText(name);     }   };   public void init() {     b1.addActionListener(bl);     b2.addActionListener(bl);     Container cp = getContentPane();     cp.setLayout(new FlowLayout());     cp.add(b1);     cp.add(b2);     cp.add(txt);   }   public static void main(String[] args) {     run(new Button2b(), 200, 75);   }   public static void run(JApplet applet, int width, int height) {     JFrame frame = new JFrame();     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);     frame.getContentPane().add(applet);     frame.setSize(width, height);     applet.init();     applet.start();     frame.setVisible(true);   } } ///:~