Я сделал Java-приложение для 4-х сторонней развязки.Я могу перемещать все автомобили через перекресток с помощью THread.sleep (), но мне нужно, чтобы автомобили не врезались друг в друга.(См. Диаграмму)
альтернативный текст http://i49.tinypic.com/ogat8h.jpg
Что мне использовать?
Я использовал LayeredPane для размещения изображений сверхудруг друга.
Вот мой код:
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JLayeredPane;
import javax.swing.JPanel;
public class Gui {
private JFrame f = new JFrame("Traffic Light");
private JLayeredPane lp = new JLayeredPane();
private JPanel red = new JPanel();
private JPanel car_1 = new JPanel();
private ImageIcon northcar = new ImageIcon("src/north.gif");
private ImageIcon usIcon = new ImageIcon("src/trafficLight.jpg");
private JLabel lb = new JLabel(usIcon);
private JLabel lbcar_1 = new JLabel(northcar);
/*private ImageIcon southcar = new ImageIcon("src/trafficLight.jpg");
private ImageIcon westcar = new ImageIcon("src/trafficLight.jpg");
private ImageIcon eastcar = new ImageIcon("src/trafficLight.jpg");
*/
public Gui() {
f.setBounds(0, 0, 655, 679);
f.add(lp);
car_1.setOpaque(false);
car_1.setBounds(340, 120, 70, 105);
//car_1.setBackground(Color.black);
car_1.add(lbcar_1);
red.setBounds(0, -5, 650, 650);
red.add(lb);
lp.add(red, new Integer(0));
lp.add(car_1, new Integer(1));
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
try {
for (int i = 120; i < 540; i +=1){
Thread.sleep(10);
car_1.setBounds(340, i, 70, 105);
} }catch (Exception e) {
}
}
public static void main(String[] args) {
Gui frame = new Gui();
}
}
Любая помощь приветствуется.Спасибо за ваше время.
Большое спасибо