Hintergrundbild mit Transparentem Label

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo,

Ich habe mir mit Java ein Fenster mit einem Hintergrundbild erzeugt, das Hintergrundbild zeichne ich mit der paint() Methode. Nun zu meinem Problem, wie schaffe ich es ein transparentes Label darauf zuzeichen. Also ich möchte, dass das Label den Hintergrund meines Bildes hat. Zudem habe ich auch das Problem,dass das Label ständig von der paint() Methode übermalt wird, also wieder verschwindet.



Code:
public void paint(Graphics g2){
	
					g2=p1.getGraphics();
			        g2.drawImage(start,0,0,p1);
			        repaint();
	}
 

André Uhres

Top Contributor
Code:
package paint;
/*
 * TransparentLabelDemo.java
 */
import java.awt.*;
import java.io.*;
import javax.imageio.*;
import javax.swing.*;
public class TransparentLabelDemo extends JFrame {
    private Hintergrund hg;
    public TransparentLabelDemo() {
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        setSize(400,300);
        setLocationRelativeTo(null);
        hg = new Hintergrund();
        add(hg);
        JLabel lb = new JLabel("<html><font color=red>" +
                "TEST TEST TEST TEST TEST TEST TEST 
" +
                "TEST TEST TEST TEST TEST TEST TEST 
" +
                "TEST TEST TEST TEST TEST TEST TEST 
" +
                "TEST TEST TEST TEST TEST TEST TEST 
");
        hg.add(lb);
    }
    public static void main(final String args[]) {new TransparentLabelDemo().setVisible(true);}
}
class Hintergrund extends JPanel  {
    private Image image;
    public Hintergrund() {
        try{
            image = ImageIO.read(new File("Background.jpg"));
        } catch(IOException ex){
            System.out.println( ex.getMessage() );
        }
    }
    public void paintComponent(final Graphics g) {
        super.paintComponent(g);
        g.drawImage(image,0,0,null);
    }
}
 
G

Guest

Gast
Vielen Dank, habe es ausprobiert und es funktioniert einwandfrei, könntest du mir vielleicht trotzdem noch ein paar erklärende Sätze dazusagen?
 

André Uhres

Top Contributor
Naja, das "Geheimnis" ist, daß du den Hintergrund von JPanel ableitest und das Bild durch Überschreiben von "paintComponent" malst. Die Swing Komponenten (wie JLabel) können dann ganz normal zum Hintergrund hinzugefügt werden.
 
G

Guest

Gast
Dankeschön, habe aber leider bereits ein neues Problem und zwar funktioniert das ganze nicht mehr wenn ich eine JMenuBar adde. Das Label oder andere Komponenten werden einfach nicht mehr angezeigt.

Sobald ich
Code:
setJMenuBar(menubar);
wieder entferne klappt alles wieder wunderbar.
 

André Uhres

Top Contributor
Code:
package paint;
/*
 * TransparentLabelDemo.java
 */
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;
import javax.imageio.*;
import javax.swing.*;
public class TransparentLabelDemo extends JFrame {
    private Hintergrund hg;
    public TransparentLabelDemo() {
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        setSize(400,300);
        setLocationRelativeTo(null);
        hg = new Hintergrund();
        add(hg);
        JLabel lb = new JLabel("<html><font color=red>" +
                "TEST TEST TEST TEST TEST TEST TEST 
" +
                "TEST TEST TEST TEST TEST TEST TEST 
" +
                "TEST TEST TEST TEST TEST TEST TEST 
" +
                "TEST TEST TEST TEST TEST TEST TEST 
");
        hg.add(lb);
        JMenuBar bar = new JMenuBar();
        JMenu menu = new JMenu("File");
        JMenuItem item = new JMenuItem("Exit");
        item.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                System.exit(0);
            }
        });
        menu.add(item);
        bar.add(menu);
        setJMenuBar(bar);
    }
    public static void main(final String args[]) {new TransparentLabelDemo().setVisible(true);}
}
class Hintergrund extends JPanel  {
    private Image image;
    public Hintergrund() {
        try{
            image = ImageIO.read(new File("Background.jpg"));
        } catch(IOException ex){
            System.out.println( ex.getMessage() );
        }
    }
    public void paintComponent(final Graphics g) {
        super.paintComponent(g);
        g.drawImage(image,0,0,null);
    }
}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Java Spiel Figur auf dem Hintergrundbild bewegen. Java Basics - Anfänger-Themen 11
J Bild auf Hintergrundbild zeichnen Java Basics - Anfänger-Themen 5
Elyt JPanel als HintergrundBild Java Basics - Anfänger-Themen 7
S JFrame mit Hintergrundbild und Button Java Basics - Anfänger-Themen 4
CptK Hintergrundbild Java Basics - Anfänger-Themen 2
K Java JFrame mit Hintergrundbild erstellen Java Basics - Anfänger-Themen 1
P Hintergrundbild in Swing einfügen Java Basics - Anfänger-Themen 3
A Benötige GUI Objekt für Hintergrundbild Java Basics - Anfänger-Themen 3
K Erste Schritte GUI - Hintergrundbild und darauf Buttons Java Basics - Anfänger-Themen 2
D java jbuttons auf dem Hintergrundbild Java Basics - Anfänger-Themen 11
M Hintergrundbild für JButton Java Basics - Anfänger-Themen 6
S Swing, Panel über Hintergrundbild!! Java Basics - Anfänger-Themen 6
Fab1 Buttons auf ein Hintergrundbild(JFrame) setzen Java Basics - Anfänger-Themen 24
J [JAVA] Bild in jar einbinden (Hintergrundbild)? Java Basics - Anfänger-Themen 8
D GUI mit Hintergrundbild Java Basics - Anfänger-Themen 13
H Hintergrundbild auf JFrame Java Basics - Anfänger-Themen 10
Haubitze_Broese Hintergrundbild im JPanel? Java Basics - Anfänger-Themen 2
H Hintergrundbild Java Basics - Anfänger-Themen 8
W Button ausrichten / Hintergrundbild Java Basics - Anfänger-Themen 9
D Hintergrundbild einfügen Java Basics - Anfänger-Themen 4
C Hintergrundbild im JFrame skalieren Java Basics - Anfänger-Themen 2
T Hintergrundbild im JPanel Java Basics - Anfänger-Themen 7
hdi Hintergrundbild in JFrame, die hunderste ;) Java Basics - Anfänger-Themen 43
A Problem mit Hintergrundbild in Applet Java Basics - Anfänger-Themen 2
G Hintergrundbild Java Basics - Anfänger-Themen 7
G Hintergrundbild mit sensitiven Bereichen Java Basics - Anfänger-Themen 2
G Hintergrundbild in Frame Java Basics - Anfänger-Themen 15
T Button Hintergrundbild machen ? Java Basics - Anfänger-Themen 19
G Hintergrundbild im jPanel Java Basics - Anfänger-Themen 27
D Windows Hintergrundbild ändern? Java Basics - Anfänger-Themen 5
J Problem mit Hintergrundbild Java Basics - Anfänger-Themen 13
K striche die sich auf dem hintergrundbild bewegen Java Basics - Anfänger-Themen 10
S Problem mit Hintergrundbild Java Basics - Anfänger-Themen 8
W Hintergrundbild im JFrame Java Basics - Anfänger-Themen 4
D Hintergrundbild nur in der Entwicklungsumgebung sichtbar Java Basics - Anfänger-Themen 8
B JLabel auf Hintergrundbild Java Basics - Anfänger-Themen 9
rafi072001 Assoziation zwischen Musiker und Label Java Basics - Anfänger-Themen 1
J Hilfe beim Label animieren Java Basics - Anfänger-Themen 1
J Java FX - Label aktualisieren Java Basics - Anfänger-Themen 1
M Java GUI label ändert sich erst zum Schluss Java Basics - Anfänger-Themen 4
S Counter Label Button Java Basics - Anfänger-Themen 4
J JavaFX Label,Button zur Laufzeit Java Basics - Anfänger-Themen 30
M Mit KeyListener Farbe von Label ändern Java Basics - Anfänger-Themen 13
B Datenbank, aktuelle Ende als Zahl an Label übergeben Java Basics - Anfänger-Themen 7
J Einen Buttonklick in Label anzeigen Java Basics - Anfänger-Themen 6
J Erste Schritte Mit repaint() ist Label nicht sichtbar Java Basics - Anfänger-Themen 15
V Label-Problem Java Basics - Anfänger-Themen 4
H Stringanzeige in einem Label Java Basics - Anfänger-Themen 2
J JavaFX -> SocketIO -> Thread -> Update Label Java Basics - Anfänger-Themen 13
KeVoZ_ Label auf JFrame willkürlich Positionieren Java Basics - Anfänger-Themen 2
N Dynamisch erzeugtes Label wird nicht angezeigt, TextField schon Java Basics - Anfänger-Themen 1
M Ausgabe eines Arrays auf Label (Javafx) Java Basics - Anfänger-Themen 4
V Die die aktuelle Größe zusätzlich in einem Label angezeigt wird Java Basics - Anfänger-Themen 11
T Erste Schritte 2 Codes zusammen fügen / Label in JFrame Java Basics - Anfänger-Themen 1
S Java Label hat komischen text Java Basics - Anfänger-Themen 4
S Label Wert zuweisen Java Basics - Anfänger-Themen 8
F Erste Schritte Label Text vor Methodenaufruf setzen Java Basics - Anfänger-Themen 17
W Klassen Fehler bei public void setLabelText(JLabel label, String text) Java Basics - Anfänger-Themen 11
W Erste Schritte Timer soll jede Sekunde Label aktualisieren Java Basics - Anfänger-Themen 5
S Label in Vordergrund Java Basics - Anfänger-Themen 4
G GUI Label Werte ersetzen Java Basics - Anfänger-Themen 25
D String aus txt in label für Tabelle einfügen Java Basics - Anfänger-Themen 8
W GUI Label, ComboBox Java Basics - Anfänger-Themen 4
M BufferedReader => TextField/Label Java Basics - Anfänger-Themen 8
M Ausgabe einer ArrayList auf einem Label Java Basics - Anfänger-Themen 4
W Java label nicht ansprechbar Java Basics - Anfänger-Themen 7
T Icon eines Label speichern Java Basics - Anfänger-Themen 9
J Uhr:Label aktuallisieren Java Basics - Anfänger-Themen 7
J Zeichen für Durchmesser Ø in Label darstellen Java Basics - Anfänger-Themen 15
J Panel + Label anzeigen - Ich kriege es nicht hin Java Basics - Anfänger-Themen 3
C Panel und Label überdecken sich Java Basics - Anfänger-Themen 2
L Label + MouseListener Java Basics - Anfänger-Themen 12
P Label Array in mouseEntered vergleichen Java Basics - Anfänger-Themen 4
J JPG in einem Label einfügen und anzeigen lassen Java Basics - Anfänger-Themen 2
C Aktueller Wert von einem JSlider auf ein Label Java Basics - Anfänger-Themen 2
J "label.setText" funktioniert nicht Java Basics - Anfänger-Themen 9
C JSlider und JRadioButton auf Label anzeigen? Java Basics - Anfänger-Themen 10
K Werte von 2 Klassen austauschen/ Bild im Label ändern Java Basics - Anfänger-Themen 12
R Text vom Label ändern Java Basics - Anfänger-Themen 14
D Vererbung ProcessBar mit einem Label Java Basics - Anfänger-Themen 4
W Anordnung von Label und Button Java Basics - Anfänger-Themen 2
S NullPointerException beim Checkbox-Label-Array mit nextLine() Java Basics - Anfänger-Themen 6
Z Label verschwindet in JScrollPane Java Basics - Anfänger-Themen 7
J Elegante Art mehrere Label mit einem icon zu setzen Java Basics - Anfänger-Themen 13
S Warum zeigt das Label nichts an??? Java Basics - Anfänger-Themen 9
N Text in Label ändern Java Basics - Anfänger-Themen 11
C Label ändert ändert sich nicht Java Basics - Anfänger-Themen 4
S In das Label eines anderen Threads schreiben Java Basics - Anfänger-Themen 2
M Label verschwindet? Java Basics - Anfänger-Themen 3
P Label erstellen und positionieren Java Basics - Anfänger-Themen 5
A TextField + Label = ? Java Basics - Anfänger-Themen 7
Stillmatic1985 Label in einem Frame zentrieren Java Basics - Anfänger-Themen 4
K Button Label lesen Java Basics - Anfänger-Themen 4
Z integer auf Label ausgeben Java Basics - Anfänger-Themen 12
C verschiedene Label auf Knopfdruck abrufen Java Basics - Anfänger-Themen 4
L Label wird nicht richtig dargestellt Java Basics - Anfänger-Themen 2
G Textfeld und Label in einem Tab? Anfänger braucht Hilfe Java Basics - Anfänger-Themen 3
G Hilfe: Label soll ganz nach oben! Java Basics - Anfänger-Themen 6
S Bild im Label ändern Java Basics - Anfänger-Themen 2
T Sonderzeichen in label Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben