Я заметил, что когда я рисую что-то с цветом (0,0,0,0) над другим изображением, показанный цвет - это фон JFrame, а не изображение чуть ниже.
Причины, которые помогли бы мне найти решение?
Спасибо !!
Редактировать: Посмотрите на круги, серая область (углы) должна быть прозрачной, но не цветом, а цветом JFrame.
альтернативный текст http://img72.imageshack.us/img72/9657/transparency.png
А вот код для рисования кругов:
public void paint(final Graphics g) {
super.paintComponent(g);
final Graphics2D g2 = (Graphics2D) g;
RenderingHints rh = new RenderingHints(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
if (unitImage == null) {
unitImage = (BufferedImage) (createImage(30, 30));
final Graphics2D gc = unitImage.createGraphics();
gc.setRenderingHints(rh);
gc.setColor(outsideColor);
gc.fillOval(0, 0, diameter, diameter);
gc.setColor(middleColor);
gc.fillOval(diameter / 6, diameter / 6, (diameter / 3) * 2, (diameter / 3) * 2);
gc.setColor(innerColor);
gc.fillOval(diameter / 3, diameter / 3, diameter / 3, diameter / 3);
}
g2.drawImage(unitImage, null, 0, 0);
Играю с альфа-композитами, думаю, это не решение проблемы. Поэтому я добавил всю эту новую информацию, которая, я верю, поможет вам, ребята, дать мне еще один совет.