/* Copyright (c) SEMM NL All rights reserved.
Author : Paul Hamaker. Part of JavaLessons.com
This code is for educational purposes only. Use at own risk.*/

1. import java.awt.*; 

2. import java.awt.event.*; 

3. import java.applet.*; 

4.  

5. public class Interfacing1 

6.     extends Applet 

7.

8.   Button bt ; 

9.   AnotherComponent un ; 

10.   YetAnotherOne dos ; 

11.  

12.   public Interfacing1 (  ) 

13.   { 

14.     bt = new Button ( "Annnnnnd, ACTION !" ) ; 

15.     un = new AnotherComponent(); 

16.     dos = new YetAnotherOne(); 

17.   } 

18.   public void init() 

19.   { 

20.     un.setBackground( Color.pink ); 

21.     add ( un ); 

22.     add ( bt); 

23.     dos.setBackground( Color.cyan ); 

24.     add ( dos ); 

25.  

26.     bt.addActionListener( un ); 

27.     bt.addActionListener( dos ); 

28.   } 

29.

30. //========================= 

31. class AnotherComponent 

32.   extends Panel 

33.   implements ActionListener 

34.

35.   public void actionPerformed ( ActionEvent ev ) 

36.   { 

37.     add ( new Label (" Abc ") ) ; 

38.     validate(); 

39.   } 

40.   public Dimension 

41.   getPreferredSize() 

42.   { 

43.      return new Dimension(100,200); 

44.   } 

45.

46. //========================= 

47. class YetAnotherOne 

48.   extends Panel 

49.   implements ActionListener 

50.

51.   public void actionPerformed ( ActionEvent ev ) 

52.   { 

53.     add ( new TextField (" Xyz ") ) ; 

54.     validate(); 

55.   } 

56.   public Dimension 

57.   getPreferredSize() 

58.   { 

59.      return new Dimension(200,150); 

60.   } 

61.

62. //========== ActionListener.java ================ 

63. public interface ActionListener extends EventListener 

64.

65.     public void actionPerformed( ActionEvent e ) 

66.     ; 

67.

68. //======== in Button.java ================ 

69. public void addActionListener 

70.              ( ActionListener l ) .... 

71.  

72.