// Scott DeRuiter // 3/12/2013 - Greenstein: Change from applet to JFrame // March 12, 2013 // Sine.java // Creates a multicolored sine curve. import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Sine { JFrame frame; DisplaySine panel; public static void main (String[] args) { Sine sin = new Sine(); sin.Run(); } public void Run() { frame = new JFrame("Sine Wave"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Create JPanel and add to frame panel = new DisplaySine(); frame.getContentPane().add(panel, BorderLayout.CENTER); // add panel to frame frame.setSize(500, 500); // explicitly set size in pixels frame.setVisible(true); // set to false to make invisible } } class DisplaySine extends JPanel { DisplaySine() { setBackground(Color.black); } public void paintComponent(Graphics g) { super.paintComponent(g); for ( int i = 0; i <= 400; i++ ) { int value = i % 6 + 1; switch ( value ) { case 1: g.setColor ( Color.blue ); break; case 2: g.setColor ( Color.black ); break; case 3: g.setColor ( Color.green ); break; case 4: g.setColor ( Color.gray ); break; case 5: g.setColor ( Color.yellow ); break; case 6: g.setColor ( Color.red ); break; } g.fillOval ( i, 150 + (int)(150 * Math.sin(2 * Math.PI * i / 200)), 10, 10 ); } } }