KinderElektro/src/main/java/de/ph87/electro/sidebar/SidebarPart.java
2024-05-15 16:18:06 +02:00

36 lines
792 B
Java

package de.ph87.electro.sidebar;
import de.ph87.electro.circuit.part.Part;
import lombok.Getter;
import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.function.Consumer;
import static de.ph87.electro.CONFIG.RASTER;
@Getter
public class SidebarPart extends JPanel {
private final Part part;
private final Consumer<Part> add;
public SidebarPart(final Part part, final Consumer<Part> add) {
this.part = part;
this.add = add;
setPreferredSize(new Dimension(RASTER, RASTER));
addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(final MouseEvent e) {
add.accept(part.duplicate(e.getPoint().x / RASTER, e.getPoint().y / RASTER));
}
});
}
}