import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class HelloWorldSpectrum extends JApplet
{
class Display extends JPanel
{
Color color;
Font textFont;
void setColor(Color color1)
{
color = color1;
repaint();
}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
g.setColor(color);
g.setFont(textFont);
g.drawString("Hello World!", 25, 50);
}
Display()
{
setBackground(Color.black);
color = Color.red;
textFont = new Font("Serif", 1, 36);
}
}
Display display;
JButton startStopButton;
Timer timer;
int colorIndex;
ActionListener timerListener;
public HelloWorldSpectrum()
{
timerListener = new ActionListener()
{
public void actionPerformed(ActionEvent actionevent)
{
colorIndex++;
if(colorIndex > 100)
colorIndex = 0;
float f = (float)colorIndex / 100F;
display.setColor(Color.getHSBColor(f, 1.0F, 1.0F));
}
};
}
public void init()
{
display = new Display();
getContentPane().add(display, "Center");
JPanel jpanel = new JPanel();
jpanel.setBackground(Color.gray);
getContentPane().add(jpanel, "South");
startStopButton = new JButton("Start");
jpanel.add(startStopButton);
startStopButton.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent actionevent)
{
if(timer == null)
startAnimation();
else
stopAnimation();
}
});
}
void startAnimation()
{
if(timer == null)
{
timer = new Timer(50, timerListener);
timer.start();
startStopButton.setText("Stop");
}
}
void stopAnimation()
{
if(timer != null)
{
timer.stop();
timer = null;
startStopButton.setText("Start");
}
}
public void stop()
{
stopAnimation();
}
}
Back to Lesson 32 Examples
Back to Java Main Page