import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.awt.image.*;
import javax.imageio.*;
import java.io.*;
/**
*
* Beschreibung
*
* @version 1.0 vom 15.01.2012
* @author
*/
public class Flughafen extends JFrame implements Runnable {
// Anfang Attribute
private Thread t = new Thread(this);
private BufferedImage imgHintergrund = null;
private JLabel jLzeit = new JLabel();
private BufferedImage imgFlugzeug = null;
private boolean besetzt= false;
private QueueNEU schlange = new QueueNEU();
private JButton jBplus = new JButton();
private int FlugzeugeZuErstellen=0;
// Ende Attribute
public Flughafen(String title) {
// Frame-Initialisierung
super(title);
t.start();
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
int frameWidth = 480;
int frameHeight = 320;
setSize(frameWidth, frameHeight);
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
int x = (d.width - getSize().width) / 2;
int y = (d.height - getSize().height) / 2;
setLocation(x, y);
Container cp = getContentPane();
cp.setLayout(null);
// Anfang Komponenten
jLzeit.setBounds(112, 200, 46, 24);
jLzeit.setText("Zeit:");
jLzeit.setFont(new Font("MS Sans Serif", Font.PLAIN, 18));
cp.add(jLzeit);
jBplus.setBounds(64, 224, 129, 33);
jBplus.setText("Flugzeug hinzufügen");
jBplus.setMargin(new Insets(2, 2, 2, 2));
jBplus.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
jBplus_ActionPerformed(evt);
}
});
cp.add(jBplus);
// Ende Komponenten
setResizable(false);
setVisible(true);
}
// Anfang Methoden
public void run()
{
while(true)
{
try
{
imgFlugzeug = ImageIO.read(new File("img/flugzeugneu2.png"));
imgHintergrund = ImageIO.read(new File("img/hintergrund.jpg"));
}
catch(IOException e)
{
}
repaint();
if(FlugzeugeZuErstellen>0)
{
schlange.enqueue(new Flugzeug(1+(int)(Math.random()*1),0));
FlugzeugeZuErstellen--;
}
if(((Flugzeug)schlange.front()).getPos()<480)
{
if(!besetzt)
{
if(((Flugzeug)schlange.front()).getPos()<400)
{
((Flugzeug)schlange.front()).setPos(((Flugzeug)schlange.front()).getPos()+1);
}
else
{
((Flugzeug)schlange.front()).setZeitZaehler(((Flugzeug)schlange.front()).getZeitZaehler()+1);
}
}
else
{
if(((Flugzeug)schlange.front()).getPos()<400)
{
((Flugzeug)schlange.front()).setPos(((Flugzeug)schlange.front()).getPos()+1);
}
}
}
else
{
schlange.dequeue();
}
this.waiting(10);
}
}
public void paint(Graphics g)
{
super.paint(g);
{
g.drawImage(imgHintergrund,0,0,this);
g.drawImage(imgFlugzeug,((Flugzeug)schlange.front().getNext().getPos()),155,this);
g.drawImage(imgFlugzeug,((Flugzeug)schlange.front().getNext().getPos()),155,this);
}
}
public static void waiting (int n)
{
long t0, t1;
t0 = System.currentTimeMillis();
do{
t1 = System.currentTimeMillis();
}
while ((t1 - t0) < (n)*1000);
}
public void jBplus_ActionPerformed(ActionEvent evt)
{
}
// Ende Methoden
public static void main(String[] args)
{
new Flughafen("Flughafen");
}
}