Files
DEV/DEV2.1/Polymophisme/ex3/Polyligne.java

44 lines
1.4 KiB
Java
Raw Normal View History

2024-03-18 13:54:22 +01:00
import javax.swing.*;
import java.awt.*;
import java.awt.geom.*;
import java.awt.event.*;
public class Polyligne extends JFrame {
private ProducteurDePoints producteurDePoints;
public Polyligne(ProducteurDePoints producteurDePoints) {
this.producteurDePoints = producteurDePoints;
setTitle("Polyligne");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(300, 300);
setLocationRelativeTo(null);
JPanel panel = new JPanel() {
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2d = (Graphics2D) g;
g2d.setColor(Color.BLACK);
Point dernierPoint = null;
Point pointActuel = producteurDePoints.suivant();
while (pointActuel != null) {
if (dernierPoint != null) {
g2d.draw(new Line2D.Double(dernierPoint, pointActuel));
}
dernierPoint = pointActuel;
pointActuel = producteurDePoints.suivant();
}
}
};
add(panel);
setVisible(true);
}
public static void main(String[] args) {
ProducteurDePoints producteur = new Etoile(); // Changez ici pour utiliser votre propre fournisseur
new Polyligne(producteur);
}
}