NOTE - THIS IS NOT A PRACTICE EXAM. IT IS AN OLD EXAM. (1) (15 pts) Put an X if the class is a Component, put an O if it is a Container, and L if it is a layout manager (some may have both and some may have none) _____ Applet _____ Button _____ MenuItem _____ Checkbox _____ CheckboxGroup _____ FlowLayout _____ Menu _____ GridLayout _____ Choice _____ Frame _____ Label _____ TextArea _____ Window _____ Graphics _____ ScrollBar import java.awt.*; public class WaveText extends java.applet.Applet implements Runnable { String str = null; int direction = 1; // 1 is clockwise, -1 is counterclockwise int horizontalRadius = 10; int verticalRadius = 10; Thread runner = null; char theChars[]; int phase = 0; Image offScreenImage; Graphics offScreenG; public void init() { String paramStr = null; str = getParameter("text"); if (str == null) { str = "Museum of Java Applets"; } setBackground(Color.black); setFont(new Font("TimesRoman",Font.BOLD,36)); resize(30+25*str.length()+2*horizontalRadius,80+2*verticalRadius); theChars = new char [str.length()]; str.getChars(0,str.length(),theChars,0); offScreenImage = createImage(this.size().width,this.size().height); offScreenG = offScreenImage.getGraphics(); offScreenG.setFont(new Font("TimesRoman",Font.BOLD,36)); } public void start() { if(runner == null) { runner = new Thread(this); runner.start(); } } // start public void stop() { if (runner != null) { runner.stop(); runner = null; } } // stop public void run() { while (runner != null) { try { Thread.sleep(120); } catch (InterruptedException e) { } repaint(); } // while } // run public void update(Graphics g) { int x, y; double angle; offScreenG.setColor(Color.black); offScreenG.fillRect(0,0,this.size().width,this.size().height); phase+=direction; phase%=8; for(int i=0;i