Hallo,
ich bin grad etwas ratlos.
In der Funktion rufe ich setClip auf bei meinem Graphics2D objekt
dann will ich hier getClip aufrufen, bekomme aber nur ein null zurück...
Hat jemand ne Idee woran das liegen könnte?
Gruß darman96
ich bin grad etwas ratlos.
In der Funktion rufe ich setClip auf bei meinem Graphics2D objekt
Java:
public void updateToolBar() {
int iconDim = 32;
getComponentByName("toolBar").removeAll();
for(Nodes node : ((TreePanel<T>)getComponentByName("treePanel")).getMostUsed()) {
TreeElement element = new TreeElement(node, new Point(0, 0));
BufferedImage image = new BufferedImage(iconDim, iconDim, BufferedImage.TYPE_4BYTE_ABGR);
Graphics2D g2d = image.createGraphics();
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g2d.setClip(0, 0, iconDim, iconDim);
g2d.translate(iconDim / 2, iconDim / 2);
g2d.scale(iconDim / 100, iconDim / 100);
element.paint(g2d);
g2d.dispose();
ImageIcon icon = new ImageIcon(image);
ToolBarItem item = new ToolBarItem(node, icon);
item.setName("toolBarItem" + node.toString());
componentMap.put(item.getName(), item);
// Add item to ToolBar
getComponentByName("toolBar").add(item);
}
}
dann will ich hier getClip aufrufen, bekomme aber nur ein null zurück...
Java:
protected void paint(Graphics2D g2d) {
Shape clip = g2d.getClip();
if(isHovered) {
g2d.setColor(backgroundColor.brighter());
} else {
g2d.setColor(isSelected ? backgroundColor.darker() : backgroundColor);
}
g2d.fill(renderBounds);
if(node.type.ornament != null) {
//g2d.setClip(ornamentArea);
//g2d.clip(clip);
g2d.setColor(isSelected ? ornamentColor.darker() : ornamentColor);
//Rectangle bounds = ornamentArea.getBounds();
g2d.fill(renderOrnament);
//g2d.fillRect(bounds.x, bounds.y, bounds.width, bounds.height);
}
g2d.setClip(renderBounds);
g2d.clip(clip);
g2d.setClip(clip);
}
Hat jemand ne Idee woran das liegen könnte?
Gruß darman96
Zuletzt bearbeitet von einem Moderator: