Hallo zusammen,
sobald ich mein Border ändere wird die paintComponent() in meinem JPnale nicht mehr ausgeführt
sobald ich setBorder() weglasse funktioniert es
sobald ich mein Border ändere wird die paintComponent() in meinem JPnale nicht mehr ausgeführt
Code:
public class MEDBorder extends BevelBorder
{
public MEDBorder()
{
super(0);
}
public void paintBorder(Component c, Graphics g, int x, int y, int width, int height)
{
if(c instanceof JComponent)
((JComponent)c).setOpaque(false);
Graphics2D g2 = (Graphics2D)g;
g2.setPaint(new GradientPaint(0.0F, 0.0F, Color.white, width, height, c.getBackground(), false));
g2.fillRect(0, 0, width, height);
super.paintBorder(c, g, x, y, width, height);
}
}
Code:
public class MEDJPanel extends JPanel
{
public MEDJPanel()
{
super();
init();
}
public void init()
{
setBorder(new MEDBorder());
setVisible(true);
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2= (Graphics2D) g;
Rectangle2D recht= new Rectangle2D.Double(0,0,200,200);
g2.setColor(Color.YELLOW);
g2.draw3DRect((int)recht.getX(), (int)recht.getY(),(int)recht.getHeight(),(int)recht.getWidth(),false);
}
sobald ich setBorder() weglasse funktioniert es