MasterEvil
Erfahrenes Mitglied
Hiho, ich habe mir einen Button von JButton abgeleitet um den Hintergrund anders einzufärben.
Das hat auch alles super funktioniert mein Problem jetzt ist allerdings das Text bzw. Icons des Buttons nicht mehr angezeigt werden? ich vermute dass das Rechteck welches ich gezeichnet habe einfach den Text überdeckt? Kann das sein?
Währe also sehr nett wenn mir mal wieder jemand helfen könnte !
Hiermal die abgeleitete Klasse:
Das hat auch alles super funktioniert mein Problem jetzt ist allerdings das Text bzw. Icons des Buttons nicht mehr angezeigt werden? ich vermute dass das Rechteck welches ich gezeichnet habe einfach den Text überdeckt? Kann das sein?
Währe also sehr nett wenn mir mal wieder jemand helfen könnte !
Hiermal die abgeleitete Klasse:
Code:
import java.awt.AlphaComposite;
import java.awt.Color;
import java.awt.GradientPaint;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.geom.Rectangle2D;
import javax.swing.JButton;
public class GradientButton extends JButton {
private static final long serialVersionUID = 7655421903690251574L;
Color cc = Color.LIGHT_GRAY;
Color cc2 = Color.WHITE;
int composite = 3;
float alpha =(float) 100/100.0f;
public GradientButton() {
super();
}
public void setComposite(int com) {
composite = com;
alpha =(float) 35/100.0f;
System.out.println("Nilai diterima: "+ alpha);
repaint();
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2d = (Graphics2D) g;
Rectangle2D.Double button = new Rectangle2D.Double(0.0,0.0,getWidth(),getHeight());
GradientPaint gp = new GradientPaint(0,getHeight(),cc,0,getHeight()/3,cc2,true);
g2d.setComposite(AlphaComposite.getInstance(composite, alpha));
g2d.setPaint(gp);
g2d.fill(button);
g2d.draw(button);
}
}