/* Uses a separate adapter class. */ import java.awt.*; import java.awt.event.*; import java.applet.Applet; import javax.swing.*; public class Separate extends JFrame { private Button print = new Button("Print"); private Button clear = new Button("Clear"); private Label message = new Label("Message goes here"); private SeparateAdapter adapter = new SeparateAdapter(message); Separate() { Container c = getContentPane(); c.setLayout(new FlowLayout()); c.add(message); c.add(print); c.add(clear); print.addActionListener(adapter); clear.addActionListener(adapter); } public static void main(String[] args) { Separate frame = new Separate(); frame.setTitle("Separate"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(300, 100); frame.setVisible(true); } } class SeparateAdapter implements ActionListener { private Label message; public SeparateAdapter(Label l) { message = l; } public void actionPerformed(ActionEvent event) { String command = event.getActionCommand(); if (command.equals("Print")) message.setText(command); else message.setText(""); } }