169e17611504376e4d4603925f8528dfc890fd2c6Luis Sigalpackage sample.duplicate; 269e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal 369e17611504376e4d4603925f8528dfc890fd2c6Luis Sigalimport java.applet.*; 469e17611504376e4d4603925f8528dfc890fd2c6Luis Sigalimport java.awt.*; 569e17611504376e4d4603925f8528dfc890fd2c6Luis Sigalimport java.awt.event.*; 669e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal 769e17611504376e4d4603925f8528dfc890fd2c6Luis Sigalpublic class Viewer extends Applet 869e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal implements MouseListener, ActionListener, WindowListener 969e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal{ 1069e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal private static final Color[] colorList = { 1169e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal Color.orange, Color.pink, Color.green, Color.blue }; 1269e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal 1369e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal private Ball ball; 1469e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal private int colorNo; 1569e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal 1669e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal public void init() { 1769e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal colorNo = 0; 1869e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal Button b = new Button("change"); 1969e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal b.addActionListener(this); 2069e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal add(b); 2169e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal 2269e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal addMouseListener(this); 2369e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal } 2469e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal 2569e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal public void start() { 2669e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal ball = new Ball(50, 50); 2769e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal ball.changeColor(colorList[0]); 2869e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal } 2969e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal 3069e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal public void paint(Graphics g) { 3169e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal ball.paint(g); 3269e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal } 3369e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal 3469e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal public void mouseClicked(MouseEvent ev) { 3569e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal ball.move(ev.getX(), ev.getY()); 3669e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal repaint(); 3769e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal } 3869e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal 3969e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal public void mouseEntered(MouseEvent ev) {} 4069e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal 4169e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal public void mouseExited(MouseEvent ev) {} 4269e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal 4369e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal public void mousePressed(MouseEvent ev) {} 4469e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal 4569e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal public void mouseReleased(MouseEvent ev) {} 4669e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal 4769e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal public void actionPerformed(ActionEvent e) { 4869e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal ball.changeColor(colorList[++colorNo % colorList.length]); 4969e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal repaint(); 5069e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal } 5169e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal 5269e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal public void windowOpened(WindowEvent e) {} 5369e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal 5469e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal public void windowClosing(WindowEvent e) { 5569e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal System.exit(0); 5669e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal } 5769e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal 5869e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal public void windowClosed(WindowEvent e) {} 5969e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal 6069e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal public void windowIconified(WindowEvent e) {} 6169e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal 6269e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal public void windowDeiconified(WindowEvent e) {} 6369e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal 6469e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal public void windowActivated(WindowEvent e) {} 6569e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal 6669e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal public void windowDeactivated(WindowEvent e) {} 6769e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal 6869e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal public static void main(String[] args) { 6969e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal Frame f = new Frame("Viewer"); 7069e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal Viewer view = new Viewer(); 7169e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal f.addWindowListener(view); 7269e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal f.add(view); 7369e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal f.setSize(300, 300); 7469e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal view.init(); 7569e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal view.start(); 7669e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal f.setVisible(true); 7769e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal } 7869e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal} 79