Hallo,
zuerst einmal: Bin ein ziemlicher Neuling, da ich mit deutschen Bibliotheken (sum) angefangen habe Java zu lernen und jetzt langsam auf das Original umstelle.
-----------
Habe ein JFrame, auf dem ich ein komplett schwarzes Hintergrundbild erzeuge (800x800). Jetzt möchte ich ein zweites Bild (erst völlig transparent dann langsam undiurchsichtig werdend) einblenden lassen.
(Beispielbilder)
->
Hier der Codeabschnitt von http://www.javalobby.org:
Hierbei habe ich ein kleines Problem: Wie kann ich es hinbekommen dass das schwarze Hintergrundbild noch angezeigt wird, wenn dass andere Bild tranparent wird? Im Moment erscheint bei mir wie im Beispiel das graue JFrame :/
Meine Methoden im "Hauptprogramm":
Die import-Anweisungen habe ich rausgelassen.
Gibt es eine Möglichkeit den grauen Hintergrund des JFrames dauerhaft [ins schwarze] zu ändern, oder das das Hintergrundbild unverändert sichtbar bleibt und [im Vordergrund] das zweite Bild ein-/ ausgeblendet wird?
Danke im Vorraus!
CeanAc36
zuerst einmal: Bin ein ziemlicher Neuling, da ich mit deutschen Bibliotheken (sum) angefangen habe Java zu lernen und jetzt langsam auf das Original umstelle.
-----------
Habe ein JFrame, auf dem ich ein komplett schwarzes Hintergrundbild erzeuge (800x800). Jetzt möchte ich ein zweites Bild (erst völlig transparent dann langsam undiurchsichtig werdend) einblenden lassen.
(Beispielbilder)
->
Hier der Codeabschnitt von http://www.javalobby.org:
Java:
public static BufferedImage loadTranslucentImage(String url, float transperancy) {
// Load the image
BufferedImage loaded = loadImage(url);
// Create the image using the
BufferedImage aimg = new BufferedImage(loaded.getWidth(), loaded.getHeight(), BufferedImage.TRANSLUCENT);
// Get the images graphics
Graphics2D g = aimg.createGraphics();
// Set the Graphics composite to Alpha
g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, transperancy));
// Draw the LOADED img into the prepared reciver image
g.drawImage(loaded, null, 0, 0);
// let go of all system resources in this Graphics
g.dispose();
// Return the image
return aimg;
}
Hierbei habe ich ein kleines Problem: Wie kann ich es hinbekommen dass das schwarze Hintergrundbild noch angezeigt wird, wenn dass andere Bild tranparent wird? Im Moment erscheint bei mir wie im Beispiel das graue JFrame :/
Meine Methoden im "Hauptprogramm":
Java:
public class Hauptprogramm
{
public void backgroundImage(JFrame frame, String ref)
{
ImageUtility ImageUtil = new ImageUtility();
BufferedImage loadImg = ImageUtil.loadImage(ref);
JImagePanel panel = new JImagePanel(loadImg, 0, 0);
frame.add(panel);
}
public void loadAndDisplayImage(JFrame frame, float x)
{
ImageUtility ImageUtil = new ImageUtility();
BufferedImage loadImg = ImageUtil.loadTranslucentImage("Unbenannt1.gif", x);
JImagePanel panel = new JImagePanel(loadImg, 0, 0);
frame.add(panel);
}
public static void main(String[] args)
{
ImageApp ia = new ImageApp();
JFrame frame = new JFrame("Excelsius");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBounds(0, 0, 800, 800);
frame.setResizable(false);
for (float i = 0.0F; i < 0.0F; i = i + 0.05F)
{
ia.backgroundImage(frame,"schwarz.jpg");
ia.loadAndDisplayImage(frame, i);
frame.setVisible(true);
}
}
}
Die import-Anweisungen habe ich rausgelassen.
Gibt es eine Möglichkeit den grauen Hintergrund des JFrames dauerhaft [ins schwarze] zu ändern, oder das das Hintergrundbild unverändert sichtbar bleibt und [im Vordergrund] das zweite Bild ein-/ ausgeblendet wird?
Danke im Vorraus!
CeanAc36
Zuletzt bearbeitet: