ich habe ein ähnliches Problem, wie in einem Beitrag schon einmal beschrieben.
http://www.java-forum.org/awt-swing-swt/84649-transparente-fenster.html
Also ich arbeite mti der Klasse AWTUtilities und zeiche auf einem JFrame einen Kreis,
nun möchte ich das Kreis so bleibt wie er ist und außenrum soll das Fenster transparent werden.
Meine Klasse habe ich von JPanel abgeleitet und überschreibe dort die paintComponent Methode.
Dadrin zeichne ich dann meinen Kreis.
also das ist nur die vereinfachte version....
in der main Methode lege ich dann einen Frame an und wenn ich dann AWTUtilities benutze wird aber mein
gesamtes Fenster transparent....was mache ich falsch?
http://www.java-forum.org/awt-swing-swt/84649-transparente-fenster.html
Also ich arbeite mti der Klasse AWTUtilities und zeiche auf einem JFrame einen Kreis,
nun möchte ich das Kreis so bleibt wie er ist und außenrum soll das Fenster transparent werden.
Meine Klasse habe ich von JPanel abgeleitet und überschreibe dort die paintComponent Methode.
Dadrin zeichne ich dann meinen Kreis.
also das ist nur die vereinfachte version....
in der main Methode lege ich dann einen Frame an und wenn ich dann AWTUtilities benutze wird aber mein
gesamtes Fenster transparent....was mache ich falsch?
Java:
import java.awt.*;
import javax.swing.*;
import com.sun.awt.AWTUtilities;
public class Test extends JPanel {
public Test() {
setPreferredSize(new Dimension(400, 400));
}
@Override
public void paintComponent(final Graphics g) {
super.paintComponent(g);
g.setColor(Color.RED);
g.fillOval(50, 50, 300, 300);
}
public static void main(final String args[]) {
JFrame frame = new JFrame("Test");
frame.setUndecorated(true);
AWTUtilities.setWindowOpaque(frame, false);
// AWTUtilities.setWindowOpacity(frame, 0.7f);
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.getContentPane().add(new Test());
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
}