package org.ripple.power.ui.view;
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.LayoutManager2;
import java.awt.Stroke;
import javax.swing.JPanel;
import org.ripple.power.config.LSystem;
import org.ripple.power.utils.GraphicsUtils;
public class RoundedPanel extends JPanel {
/**
*
*/
private static final long serialVersionUID = 1L;
private final int cornerRadius;
public RoundedPanel(LayoutManager2 layout) {
super(layout);
setOpaque(false);
this.cornerRadius = LSystem.COMPONENT_CORNER_RADIUS;
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
int width = getWidth();
int height = getHeight();
Graphics2D g2 = (Graphics2D) g;
GraphicsUtils.setExcellentRenderingHints(g2);
g2.setColor(Color.black);
g2.fillRoundRect(0, 0, width, height, cornerRadius, cornerRadius);
Stroke original = g2.getStroke();
g2.setColor(Color.black);
g2.setStroke(new BasicStroke(0));
g2.drawRoundRect(0, 0, width, height, cornerRadius, cornerRadius);
g2.setStroke(original);
}
}