📄 main.java
字号:
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class Main extends Applet implements Runnable, KeyListener, MouseListener, MouseMotionListener
{
private int speed;
int currentLine;
// Spielthread
private Thread th;
// Variablen f黵 die Doppelpufferung
private Image dbImage;
private Graphics dbg;
public void init()
{
setBackground(Color.blue);
currentLine = 10;
addKeyListener(this);
addMouseListener(this);
addMouseMotionListener(this);
}
public void start()
{
// Schaffen eines neuen Threads, in dem das Spiel l鋟ft
th = new Thread(this);
// Starten des Threads
th.start ();
}
public void stop()
{
// Thread stoppen
th.stop();
// Thread auf null setzen
th = null;
}
public void keyPressed(KeyEvent e)
{
getGraphics().drawString("User pressed key " + e.getKeyChar(), 10, currentLine);
currentLine+=20;
}
public void keyReleased(KeyEvent e)
{
getGraphics().drawString("User released key " + e.getKeyChar(), 10, currentLine);
currentLine+=20;
}
public void keyTyped(KeyEvent e)
{
}
public void mouseClicked(MouseEvent e)
{
getGraphics().drawString("User clicked mouse " + e.getClickCount() + " times!", 10, currentLine);
currentLine+=20;
}
public void mouseEntered(MouseEvent e)
{
getGraphics().drawString("Mouse entered applet at " + e.getX() + " " + e.getY(), 10, currentLine);
currentLine += 20;
}
public void mouseExited(MouseEvent e)
{
}
public void mousePressed(MouseEvent e)
{
}
public void mouseReleased(MouseEvent e)
{
}
public void mouseMoved(MouseEvent e)
{
}
public void mouseDragged(MouseEvent e)
{
}
public void run()
{
// Erniedrigen der ThreadPriority um zeichnen zu erleichtern
Thread.currentThread().setPriority(Thread.MIN_PRIORITY);
// Solange true ist l鋟ft der Thread weiter
while (true)
{
try
{
paint(getGraphics());
// Stoppen des Threads f黵 in Klammern angegebene Millisekunden
Thread.sleep(speed);
}
catch (InterruptedException ex)
{
// do nothing
}
// Zur點ksetzen der ThreadPriority auf Maximalwert
Thread.currentThread().setPriority(Thread.MAX_PRIORITY);
}
}
/** Update - Methode, Realisierung der Doppelpufferung zur Reduzierung des Bildschirmflackerns */
public void update (Graphics g)
{
// no double buffering
}
public void paint(Graphics g)
{
if(currentLine >380)
{
g.setColor(Color.blue);
g.fillRect(0, 0, 300, 300);
currentLine = 10;
}
g.setColor(Color.yellow);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -