resources_for_peek-a-boo
This is an old revision of the document!
Peek-A-Boo
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.Timer;
public class PeekABoo extends JPanel implements KeyListener, ActionListener
{
public static int WIDTH=1200;
public static int HEIGHT=600;
private Font titleFont, bigFont;
private int x,y;
private Timer timer1, timer2;
private char ch;
private String message;
public PeekABoo()
{
//initialize variables here...
titleFont = new Font("Roman", Font.BOLD, 18);
bigFont = new Font("Helvetica", Font.PLAIN, 72);
timer1 = new Timer(1000, this); //1000=1 seconds
timer2 = new Timer(3000, this); //1000=1 seconds
timer1.start();
timer2.start();
int r = (int)(26*Math.random());
ch = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".charAt(r);
message = "Next Character is "+ch;
}
public static void main(String[] args) {
PeekABoo app= new PeekABoo();
JFrame window = new JFrame("Timer Example");
window.setSize(WIDTH, HEIGHT);
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.getContentPane().add(app);
window.addKeyListener(app);
//window.pack();
window.setVisible(true);
}
public void paintComponent(Graphics g){
super.paintComponent(g);
g.setColor(Color.WHITE);
g.fillRect(0, 0, getWidth(),getHeight());
g.setColor(Color.BLUE);
g.setFont(titleFont);
g.drawString("Peek A Boo", 20, 20);
g.setColor(Color.BLACK);
g.setFont(bigFont);
g.drawString(message, 30, HEIGHT/2);
g.fillRect(x, y, 10, 10);
}
// These 3 methods need to be declares to implement the KeyListener Interface
@Override
public void keyTyped(KeyEvent e) {}
@Override
public void keyPressed(KeyEvent e) {
char guess = e.getKeyChar();
String s = ""+guess;
guess = s.toUpperCase().charAt(0);
if (guess == ch) // right
message="Thats right";
else
{
int r = (int)(26*Math.random());
ch = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".charAt(r);
message = "try Again. The new Letter is "+ch;
}
repaint();
}
@Override
public void keyReleased(KeyEvent e) {}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource()==timer1){
message = "Now type that Letter";
timer2.start();
} else {
int r = (int)(26*Math.random());
ch = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".charAt(r);
message = "try Again. The new Letter is "+ch;
}
repaint();
}
}
resources_for_peek-a-boo.1652115297.txt.gz · Last modified: 2022/05/09 12:54 by frchris