Files
corejava/corejava第10版/v1ch02/RoadApplet/RoadApplet.java
T
2019-05-22 19:31:49 +08:00

47 lines
1.2 KiB
Java

import java.awt.*;
import java.applet.*;
import javax.swing.*;
public class RoadApplet extends JApplet
{
private RoadComponent roadComponent;
private JSlider slowdown;
private JSlider arrival;
public void init()
{
EventQueue.invokeLater(() ->
{
roadComponent = new RoadComponent();
slowdown = new JSlider(0, 100, 10);
arrival = new JSlider(0, 100, 50);
JPanel p = new JPanel();
p.setLayout(new GridLayout(1, 6));
p.add(new JLabel("Slowdown"));
p.add(slowdown);
p.add(new JLabel(""));
p.add(new JLabel("Arrival"));
p.add(arrival);
p.add(new JLabel(""));
setLayout(new BorderLayout());
add(p, BorderLayout.NORTH);
add(roadComponent, BorderLayout.CENTER);
});
}
public void start()
{
new Thread(() ->
{
for (;;)
{
roadComponent.update(
0.01 * slowdown.getValue(),
0.01 * arrival.getValue());
try { Thread.sleep(50); } catch(InterruptedException e) {}
}
}).start();
}
}