Files
racing-game/src/Rankboard.java

39 lines
826 B
Java

import java.awt.BorderLayout;
import java.util.ArrayList;
import java.util.Comparator;
import javax.swing.JLabel;
public class Rankboard extends GameView
{
ArrayList<Car> cars;
private final JLabel label;
public Rankboard(String title, ArrayList<Car> cars, int width, int height, int x, int y)
{
super(title, width, height, x, y);
this.cars = cars;
this.label = new JLabel();
this.add(label, BorderLayout.CENTER);
}
private void updateRankText()
{
cars.sort(Comparator.comparingInt(Car::getScore).reversed());
StringBuilder s = new StringBuilder();
s.append("<html><table>");
for (Car c : cars)
{
s.append("<tr><td>" + c + ": " + c.getScore() + "%</td></tr>");
}
s.append("</table></html>");
label.setText(s.toString());
}
@Override
protected void run()
{
updateRankText();
}
}