import java.awt.BorderLayout; import java.awt.Color; import java.awt.Container; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.Timer; import javax.swing.border.CompoundBorder; import javax.swing.border.EmptyBorder; import javax.swing.border.LineBorder; public class JavaEye { private JFrame frame; private EyeComponent right; private EyeComponent left; public JavaEye() { frame = new JFrame("Java Eye"); frame.setAlwaysOnTop(true); frame.setLocationByPlatform(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(200, 200); Container container = frame.getContentPane(); container.setLayout(new GridLayout(1, 2)); JPanel panel = new JPanel(); panel.setLayout(new BorderLayout()); panel.setBorder(new CompoundBorder(new EmptyBorder(5, 5, 5, 5), new LineBorder(Color.BLACK, 10))); left = new EyeComponent(); panel.add(left); frame.getContentPane().add(panel); panel = new JPanel(); panel.setLayout(new BorderLayout()); panel.setBorder(new CompoundBorder(new EmptyBorder(5, 5, 5, 5), new LineBorder(Color.BLACK, 10))); right = new EyeComponent(); panel.add(right); frame.getContentPane().add(panel); frame.setVisible(true); } public void start() { ActionListener listener = new ActionListener() { public void actionPerformed(ActionEvent event) { frame.repaint(); } }; Timer timer = new Timer(50, listener); timer.start(); } public static void main(String[] args) { JavaEye eye = new JavaEye(); eye.start(); } }