Hallo Forum,
da ich nun schon mehr als 6 Stunden an diesem kleinen Problem sitze und so ungefär 30 Versionen getestet habe :roll: ohne eine Lösung für mich zu finden, frag ich jetzt euch:
Also... ich schreibe an einer GUI, die ein Hintergrundbild haben soll. Ich bin der meinung, dass ich paint() überschrieben habe... aber es klappt einfach nicht. Ich habe zwar das Bild, kann aber keine weiteren Elemente darauf setzen:
Class GUI_Application //hier geht es los:
Jetzt die Class Menu_Frame:
Und jetzt gibt es noch zwei Klassen, eine mit dem Hintergrundbild und eine, die den ganzen Rest beinhalten sollte...
und
Und wie schon gesagt, ich sehe das Hintergrundbild... ich hab nur ein Problem, irgend etwas darauf sichtbar zu machen...
Wäre für eure Hilfe sehr dankbar :shock: :bahnhof:
da ich nun schon mehr als 6 Stunden an diesem kleinen Problem sitze und so ungefär 30 Versionen getestet habe :roll: ohne eine Lösung für mich zu finden, frag ich jetzt euch:
Also... ich schreibe an einer GUI, die ein Hintergrundbild haben soll. Ich bin der meinung, dass ich paint() überschrieben habe... aber es klappt einfach nicht. Ich habe zwar das Bild, kann aber keine weiteren Elemente darauf setzen:
Class GUI_Application //hier geht es los:
Code:
import javax.swing.*;
public class GUI_Application {
private static void createAndShowGUI() {
final int WIDTH = 800;
final int HEIGHT = 600;
JFrame.setDefaultLookAndFeelDecorated(false);
//Create and set up the window.
Menu_Frame frame = new Menu_Frame("Proggi Titel");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBounds(100,0,900,700);
frame.setVisible(true);
}
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
}
Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import java.util.Random;
import java.util.Vector;
import java.awt.Color;
public class Menu_Frame extends JFrame {
JLabel statusInfo;
public static Graphics_To_Frame gui_elements;
public Menu_Frame(String title)
{
super(title)
Container content = getContentPane();
JToolBar toolbar = new JToolBar();
content.add (toolbar, BorderLayout.NORTH);
//....................................
MENUES UND CO .............................................
//hier das Hintergrundbild
BackgroundPanel bg = new BackgroundPanel();
bg.setLayout(null);
// ein anderes Jlable - Bild
gui_elements = new Graphics_To_Frame();
gui_elements.becherLable.setOpaque(false);
bg.add(gui_elements.becherLable);
content.add(bg);
}
}
Und jetzt gibt es noch zwei Klassen, eine mit dem Hintergrundbild und eine, die den ganzen Rest beinhalten sollte...
Code:
import java.awt.Container;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.Vector;
import javax.imageio.ImageIO;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class BackgroundPanel extends JPanel{
private Image background;
public BackgroundPanel() {
try{
background=ImageIO.read(new File("pics/background.gif"));
}catch(IOException e)
{
e.printStackTrace();
System.err.println(e);
}
}
public void paint( Graphics g ){
g.drawImage( background, 0, 0, this );
}
}
Code:
import java.awt.Graphics;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
public class Graphics_To_Frame {
public JLabel becherLable;
Graphics_To_Frame(){
this.becherLable = new JLabel(new ImageIcon("pics/becher.gif"));
this.becherLable.setBounds(15,5,45,36);
}
}
Und wie schon gesagt, ich sehe das Hintergrundbild... ich hab nur ein Problem, irgend etwas darauf sichtbar zu machen...
Wäre für eure Hilfe sehr dankbar :shock: :bahnhof: