1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106
| package WindowComponents;
import java.awt.*;
import java.awt.event.ComponentEvent;
import javax.swing.*;
public class GroupBox extends JPanel
{
/**
*
*/
private static final long serialVersionUID = 1L;
private String Title;
private int Margin;
private int HeaderSize;
private JPanel ContentPanel;
public GroupBox(String Title)
{
this.Title = Title;
this.Margin = 2;
this.HeaderSize = 25;
this.ContentPanel = new JPanel();
super.setLayout(null);
super.add(ContentPanel);
}
public int getHeaderSize()
{
return (this.HeaderSize);
}
public void setHeaderSize(int HeaderSize)
{
this.HeaderSize = HeaderSize;
this.repaint();
}
public int getMargin()
{
return (this.Margin);
}
public void setMargin(int Margin)
{
this.Margin = Margin;
this.repaint();
}
public String getTitle()
{
return (this.Title);
}
public void setTitle(String Title)
{
this.Title = Title;
}
public void componentResized(ComponentEvent evt)
{
this.LayoutContentArea();
}
protected void LayoutContentArea()
{
this.ContentPanel.setBounds(10, 10, 40, 40);
}
public void setLayout(LayoutManager M)
{
this.ContentPanel.setLayout(M);
}
@Override
public Component add(Component Comp)
{
return (this.ContentPanel.add(Comp));
}
public void paintComponent(Graphics g)
{
Graphics2D g2d = (Graphics2D)g;
g2d.setBackground(Color.WHITE);
GradientPaint gp = new GradientPaint(0, 0, new Color(116, 178, 237), 0, this.HeaderSize, new Color(73, 138, 228), true);
g2d.setPaint(gp);
g2d.fillRect(this.Margin, this.Margin, this.getWidth() - this.Margin, this.HeaderSize);
Color C = new Color(218, 219, 223);
g2d.setColor(C);
//Stroke S = g2d.getStroke();
g2d.setStroke(new BasicStroke(2));
g2d.drawLine(this.Margin, this.Margin, this.getWidth() - this.Margin, this.Margin);
g2d.drawLine(this.Margin, this.Margin + this.HeaderSize, this.getWidth() - this.Margin, this.Margin + this.HeaderSize);
g2d.drawLine(this.Margin, this.Margin, this.Margin, this.getHeight() - this.Margin);
g2d.drawLine(this.getWidth(), this.Margin, this.getWidth(), this.getHeight() - this.Margin);
g2d.drawLine(2, this.getHeight() - this.Margin, this.getWidth() - this.Margin, this.getHeight() - this.Margin);
g2d.setColor(Color.BLACK);
g2d.setFont(getFont().deriveFont(HEIGHT, 15).deriveFont(WIDTH, 15));
g2d.drawString(this.Title, (float)10.0, (float)(this.HeaderSize / 2 + this.Margin + 5));
//this.ContentPanel.setBounds(this.Margin, this.HeaderSize + this.Margin, this.getWidth() - this.Margin, this.getHeight() - this.Margin);
}
} |
Partager