Hintergrundbild im Fenster darstellen

L

Loolz

Mitglied
Hallo an alle, ich versuche gerade ein Fenster mit einem Hintergrundbild zu programmieren. Jedoch öffnet sich das Fenster, aber es wird kein Bild angezeigt. Langsam fange ich an zu verzweifeln. Könnt ihr mir helfen (NetBeans 8.2)?
 

Anhänge

  • gui.PNG
    gui.PNG
    93,5 KB · Aufrufe: 16
  • var.PNG
    var.PNG
    102,4 KB · Aufrufe: 21
  • main.PNG
    main.PNG
    78,9 KB · Aufrufe: 10
  • label.PNG
    label.PNG
    86,8 KB · Aufrufe: 13
kneitzel

kneitzel

Top Contributor
Poste Code doch bitte in Code Tags und nicht mit Bildschirmfotos. Das ist so sehr schwer zu lesen.

-> Deine Label Klasse heisst label und nicht Label. Dadurch erzeugst Du ein AWT Label und keine Instanz von Deiner Klasse.
-> Das Konstrukt mit den statischen Variablen ist schlicht Quatsch - aber lass mich raten: YouTube Tutorial ... Pongo oder wie hiess das? So hast Du ein Problem in der Reihenfolge: Du erzeugst erst die gui und dann var. Dadurch werden die Bilder erst geladen, wenn es schon zu spät ist...
-> Naming - Klassen sollen in Großbuchstaben geschrieben werden. Und etwas sinnvolles aussagen. label ist ein Schrott Name, denn es ist ja nicht nur ein Label. Es ist sowas wie ein BilderLabel oder so .. Schon hast Du auch weniger Verwechslungsgefahren ...
 
L

Loolz

Mitglied
Poste Code doch bitte in Code Tags und nicht mit Bildschirmfotos. Das ist so sehr schwer zu lesen.

-> Deine Label Klasse heisst label und nicht Label. Dadurch erzeugst Du ein AWT Label und keine Instanz von Deiner Klasse.
-> Das Konstrukt mit den statischen Variablen ist schlicht Quatsch - aber lass mich raten: YouTube Tutorial ... Pongo oder wie hiess das? So hast Du ein Problem in der Reihenfolge: Du erzeugst erst die gui und dann var. Dadurch werden die Bilder erst geladen, wenn es schon zu spät ist...
-> Naming - Klassen sollen in Großbuchstaben geschrieben werden. Und etwas sinnvolles aussagen. label ist ein Schrott Name, denn es ist ja nicht nur ein Label. Es ist sowas wie ein BilderLabel oder so .. Schon hast Du auch weniger Verwechslungsgefahren ...
Ich habe kleine Verbesserungen vorgenommen, jedoch noch keinen Unterschied gemerkt

Die Main

AdventuresDestiny:
//Ich habe diese Verbesserungen jetzt vorgenommen
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package adventuresdestiny;

import java.awt.Label;

/**
*
* @author Loolz
*/
public class AdventuresDestiny {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        new var();
        new gui();
        new label();
    }
  
}




Die Gui-Klasse

gui:
// Hier sind keine Verbesserungen aber trotzdem der Code
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package adventuresdestiny;

import java.awt.Label;
import javax.swing.JFrame;
import javax.swing.JLabel;

/**
*
* @author Loolz
*/
public class gui {
  
    public gui() {
        var.jf1 = new JFrame();
        var.jf1.setSize(var.bbreite, var.bhoehe);
        var.jf1.setLocationRelativeTo(null);
        var.jf1.setLayout(null);
        var.jf1.setTitle("Adventures Destiny");
        var.jf1.setResizable(false);
        var.jf1.requestFocus();
        var.jf1.setVisible(true);
      
        var.label = new Label();
        var.label.setBounds(0, 0, var.bbreite, var.bhoehe);
        var.jf1.add(var.label);
        var.label.setVisible(true);
    }
  
}


Die label Klasse

label:
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package adventuresdestiny;

import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import javax.swing.JLabel;

/**
*
* @author Loolz
*/
public class label extends JLabel {
  
    protected void paintComponent(Graphics g) {
        super.paintComponent(g);
      
        Graphics2D g2d = (Graphics2D)g;
      
        g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
      
        g.drawImage(var.ih1, 0, 0, 1280, 720, null);
        g.drawImage(var.ih2, 0, 0, 1280, 720, null);
      
        repaint();
      
    }
  
}


Die var-Klasse

var:
 /*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package adventuresdestiny;

import java.awt.Label;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JLabel;

/**
*
* @author
*/
public class var {
  
    static JFrame jf1;
    static int bbreite = 1280;
    static int bhoehe = 720;
    static Label label;
    static BufferedImage ih1, ih2;
  
    public var() {
      
        try {
            ih1 = ImageIO.read(new File("rcs/h1.png"));
            ih2 = ImageIO.read(new File("rcs/h1.png"));
        } catch (IOException e) {
            e.printStackTrace();
            System.out.println("Bild konnte nicht geladen werden");
        }
      
    }
  
}
 
Zuletzt bearbeitet:
kneitzel

kneitzel

Top Contributor
Das was ich mit label vs Label meinte:

Deine Klasse heißt label - mit kleinem l:
Java:
public class label extends JLabel {

Du nutzt aber die AWT Klasse Label (großes L) in gui:
Java:
...
import java.awt.Label;
...
        var.label = new Label();
...

Ebenso natürlich in Deiner Klasse var.

Also wenn Du nur ein java.awl.Label erstellst, dann kannst Du da keinerlei Verhalten von Deiner Klasse label erwarten.
 
L

Loolz

Mitglied
Das was ich mit label vs Label meinte:

Deine Klasse heißt label - mit kleinem l:
Java:
public class label extends JLabel {

Du nutzt aber die AWT Klasse Label (großes L) in gui:
Java:
...
import java.awt.Label;
...
        var.label = new Label();
...

Ebenso natürlich in Deiner Klasse var.

Also wenn Du nur ein java.awl.Label erstellst, dann kannst Du da keinerlei Verhalten von Deiner Klasse label erwarten.
Wenn ich die großen L's in kleine L's umwandel bekomme ich Fehler: incomatible types: label cannot be converted to Label (falls ich richtig verändert und verstanden habe, was du/Sie meintest/meinten. Und wenn ich den import lösche bekomme ich auch eine Fehlermeldung. Mein lehrer hat mich ins kalte Wasser mit dem projekt geworfen. Wir haben so gut wie keine Kenntnisse in Java und sollen innerhalb 3 Wochen uns selber so viel wie möglich aneignen und dann unsere Ergebnisse vorstellen
 
kneitzel

kneitzel

Top Contributor
Als erstes: Wir duzen uns hier. Also Du ist richtig.

Du musst das natürlich an allen Stellen entsprechend anpassen. Der Fehler besagt, dass Du versuchst eine Instanz des einen in einer Variablen vom anderen zu speichern. Und das geht natürlich nicht. Die Variable muss als vom Typ Deiner Klasse sein, Du musst eine Instanz Deiner Klasse erzeugen u.s.w. - Dann ist auch der Fehler weg den Du beschrieben hast.

Aus reinem Interesse: Das ist ein Projekt, das so vom Lehrer vorgegeben wurde? Mit der Klasse var und den statischen Variablen und so?
 
L

Loolz

Mitglied
Als erstes: Wir duzen uns hier. Also Du ist richtig.

Du musst das natürlich an allen Stellen entsprechend anpassen. Der Fehler besagt, dass Du versuchst eine Instanz des einen in einer Variablen vom anderen zu speichern. Und das geht natürlich nicht. Die Variable muss als vom Typ Deiner Klasse sein, Du musst eine Instanz Deiner Klasse erzeugen u.s.w. - Dann ist auch der Fehler weg den Du beschrieben hast.

Aus reinem Interesse: Das ist ein Projekt, das so vom Lehrer vorgegeben wurde? Mit der Klasse var und den statischen Variablen und so?
Nein der Lehrer sagte wir sollen etwas programmieren und uns die Information zu dem, was wir porgrammieren sollen selber raussuchen und ich habe leider kein Wort verstanden, von dem was du gesagt hast .. :/, also habe ich keinen Plan, wie ich weiter verfahren soll
 
kneitzel

kneitzel

Top Contributor
Dann würde ich empfehlen, einfach noch einmal bei 0 anzufangen und einem Tutorial zu folgen.

https://jaxenter.de/java-tutorial-einsteiger-47190 könnte so ein Anfang sein - die ersten drei Teile sollten Dir einen Überblick geben bezüglich Java.

Gewisse Grundlagen wie z.B. Variablen mit Typen und so sollten schon verstanden worden sein. Und so beruhigt wie ich bin, dass diese "var" Klasse nicht von einem Lehrer stammte, so sehr frage ich mich gerade, wieso ihr diese Grundlagen nicht schon im Unterricht hattet. Es ist unüblich, dass ein Lehrer eine Aufgabe vergibt, ohne die notwendigen Techniken nicht schon unterrichtet wurden ...
 
mihe7

mihe7

Top Contributor
Wir haben so gut wie keine Kenntnisse in Java und sollen innerhalb 3 Wochen uns selber so viel wie möglich aneignen und dann unsere Ergebnisse vorstellen
:eek: OK, das Ergebnis kann ja auch sein: an der Stelle bin ich trotz aller Anstrengung nicht mehr weitergekommen. Das würde aber voraussetzen, dass Du beim Lehrer auch mal nachgefragt hast, sonst ist "trotz aller Anstrengung" äußerst relativ :)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Java, GUI, Hintergrundbild, Image, AWT, Swing, JavaFX & SWT 4
H Hintergrundbild in einem Programm AWT, Swing, JavaFX & SWT 4
snipesss Hintergrundbild in JOptionPane.showInputDialog? AWT, Swing, JavaFX & SWT 4
M Hintergrundbild wird nicht angezeigt AWT, Swing, JavaFX & SWT 1
L [Slick2d] Sidescroller/Hintergrundbild sehr langsam AWT, Swing, JavaFX & SWT 3
O Vollbildmodus mit Hintergrundbild AWT, Swing, JavaFX & SWT 8
A jpanel mit gridbaglayout auf hintergrundbild AWT, Swing, JavaFX & SWT 7
Mr. Pink AWT Anzeigeproblem JPanel/Hintergrundbild AWT, Swing, JavaFX & SWT 1
H Swing Hintergrundbild in einen JFrame einfügen AWT, Swing, JavaFX & SWT 7
T Hintergrundbild in JTextPane fixieren AWT, Swing, JavaFX & SWT 2
M Auf einem Hintergrundbild zeichnen AWT, Swing, JavaFX & SWT 2
SexyPenny90 Hintergrundbild mit Swing AWT, Swing, JavaFX & SWT 3
C Eigenes Hintergrundbild einfügen AWT, Swing, JavaFX & SWT 6
P AWT Hintergrundbild in Hauptframe AWT, Swing, JavaFX & SWT 3
J Hintergrundbild für JFrame AWT, Swing, JavaFX & SWT 6
T 2D-Grafik Statisches Hintergrundbild, dynamische Bilder drüber AWT, Swing, JavaFX & SWT 2
F Hintergrundbild im Frame AWT, Swing, JavaFX & SWT 11
H Hintergrundbild in jTextArea AWT, Swing, JavaFX & SWT 4
N AWT Hintergrundbild AWT, Swing, JavaFX & SWT 2
R 2D-Grafik Hintergrundbild für JFrame AWT, Swing, JavaFX & SWT 4
E JButton mit hintergrundbild AWT, Swing, JavaFX & SWT 4
J Swing Hintergrundbild auf einem JFrame AWT, Swing, JavaFX & SWT 7
G Swing Komponenten dem Hintergrundbild des JPanels anpassen? AWT, Swing, JavaFX & SWT 6
B Wie ein Hintergrundbild einfügen??? AWT, Swing, JavaFX & SWT 18
I JPanel mit Hintergrundbild, setOpaque AWT, Swing, JavaFX & SWT 10
C Label Hintergrundbild mit Text AWT, Swing, JavaFX & SWT 6
S Applet - Aerger mit dem Hintergrundbild - JLabel und JTextfield AWT, Swing, JavaFX & SWT 7
F hintergrundbild für jtable als jscrollpane AWT, Swing, JavaFX & SWT 10
J Hintergrundbild des JFrames lässt Textboxen verschwinden? AWT, Swing, JavaFX & SWT 4
H hintergrundbild fixieren AWT, Swing, JavaFX & SWT 3
N Swing Hintergrundbild in einer JScrollpane AWT, Swing, JavaFX & SWT 2
dl85hej Hintergrundbild AWT, Swing, JavaFX & SWT 2
C JPanel mit Hintergrundbild AWT, Swing, JavaFX & SWT 30
U JList mit Hintergrundbild hinterlegen und noch ne Frage AWT, Swing, JavaFX & SWT 4
C Hintergrundbild ohne Repaint AWT, Swing, JavaFX & SWT 9
G Jpanel mit Hintergrundbild füllen? AWT, Swing, JavaFX & SWT 6
G 2x JPanel im JScrollPane (Hintergrundbild in JScrollPane) AWT, Swing, JavaFX & SWT 9
E JPanel mit Hintergrundbild AWT, Swing, JavaFX & SWT 10
hdi panel hintergrundbild falsch implementiert ? AWT, Swing, JavaFX & SWT 9
Kidao Das Hintergrundbild überdeckt die Swing-Komponente AWT, Swing, JavaFX & SWT 5
C JdesktopPane Hintergrundbild AWT, Swing, JavaFX & SWT 6
N Hintergrundbild setzen AWT, Swing, JavaFX & SWT 4
L Frame mit Hintergrundbild? AWT, Swing, JavaFX & SWT 4
S JTextPane mit Hintergrundbild AWT, Swing, JavaFX & SWT 9
K Hintergrundbild an JFrame anpassen AWT, Swing, JavaFX & SWT 9
U bewegtes Hintergrundbild AWT, Swing, JavaFX & SWT 2
G Hintergrundbild auf JFrame oder JPanel AWT, Swing, JavaFX & SWT 3
F Text besser lesbar über Hintergrundbild AWT, Swing, JavaFX & SWT 6
G Hintergrundbild für JPanel AWT, Swing, JavaFX & SWT 4
S Hintergrundbild an Größe des JFrames anpassen AWT, Swing, JavaFX & SWT 4
G Problem mit Menü/Button auf Hintergrundbild AWT, Swing, JavaFX & SWT 10
D JTable - Hintergrundbild in Cell AWT, Swing, JavaFX & SWT 6
M Hintergrundbild und grafischer Button (Transparenz Probleme) AWT, Swing, JavaFX & SWT 3
H Hintergrundbild im Panel verschwindet sofort AWT, Swing, JavaFX & SWT 6
B Problem mit Hintergrundbild AWT, Swing, JavaFX & SWT 12
I Hintergrundbild bei awt container AWT, Swing, JavaFX & SWT 9
E hintergrundbild einfügen!! AWT, Swing, JavaFX & SWT 2
N Kontextmenü (Popup-Fenster) erstellen AWT, Swing, JavaFX & SWT 3
P JavaFX Fenster wird nicht angezeigt (Mac) AWT, Swing, JavaFX & SWT 5
VPChief Buttons Reagieren erst wenn ich Fenster minimiere AWT, Swing, JavaFX & SWT 4
B JavaFX TextField Eingabe in neues Fenster übernehmen AWT, Swing, JavaFX & SWT 4
N Drag and Drop Fenster AWT, Swing, JavaFX & SWT 11
A Swing JTextField an Button übergeben für Popup-Fenster funktioniert nicht AWT, Swing, JavaFX & SWT 3
P JavaFX Zugriff auf Fenster/Layout-Container in eigenen Klassen AWT, Swing, JavaFX & SWT 5
Bluedaishi JavaFX Programm start mit zwei scenen bzw Fenster AWT, Swing, JavaFX & SWT 1
J Fenster mit Inhalten aus einem Array Füllen AWT, Swing, JavaFX & SWT 4
S Swing Fenster State Machine AWT, Swing, JavaFX & SWT 1
A Fenster genau unterhalb von JTextField anzeigen AWT, Swing, JavaFX & SWT 1
J Overlay Panel statt neues Fenster AWT, Swing, JavaFX & SWT 6
S Swing Bei start des Programmes kein Fenster zu sehen AWT, Swing, JavaFX & SWT 1
X Neues Fenster mit Button öffnen und bearbeiten AWT, Swing, JavaFX & SWT 4
platofan23 JAVAFX zweites Fenster öffnen AWT, Swing, JavaFX & SWT 2
M JavaFX Altes Fenster (FXML Datei) löschen AWT, Swing, JavaFX & SWT 16
P JavaFX Fenster lädt nicht mehr AWT, Swing, JavaFX & SWT 4
I AWT Listener während man in anderem Fenster ist AWT, Swing, JavaFX & SWT 4
S JavaFX Fenster aufkommen lassen, wenn mit der Maus über bestimmten Bereich fahren AWT, Swing, JavaFX & SWT 1
L Java- UI zweites Fenster aus einer anderen Klasse öffnen durch ButtonClick AWT, Swing, JavaFX & SWT 4
D Swing Neues (3.) Fenster öffnen AWT, Swing, JavaFX & SWT 2
G JavaFX Fenster 1 Array übertragen zur Fenster 2 AWT, Swing, JavaFX & SWT 0
I JavaFX Fenster wird auf einem anderen Rechner anders dargestellt AWT, Swing, JavaFX & SWT 5
K Fenster welches den Sieger anzeigt AWT, Swing, JavaFX & SWT 5
O JavaFX Fenster scließen AWT, Swing, JavaFX & SWT 4
A Swing Fenster ändert Position bei Mausklick nicht AWT, Swing, JavaFX & SWT 2
S SWT neues Fenster, buttons aus alten etc... AWT, Swing, JavaFX & SWT 0
D Java FXML mehrere Fenster AWT, Swing, JavaFX & SWT 4
L Input aus Sub-Fenster Startfenster übergeben AWT, Swing, JavaFX & SWT 5
B AWT Fenster schließt nicht AWT, Swing, JavaFX & SWT 2
H JavaFX Kriege fehler beim Fenster wechseln AWT, Swing, JavaFX & SWT 7
G Swing Wenn ich mein JFrame Fenster vergrößere die Inhalte anpassen AWT, Swing, JavaFX & SWT 1
U Swing Inhalt vom Fenster wird erst durch Hovern oder Klicken sichtbar AWT, Swing, JavaFX & SWT 3
A Nach klick auf Button neuen Inhalt im gleichen Fenster AWT, Swing, JavaFX & SWT 3
T Fenster schließen AWT, Swing, JavaFX & SWT 4
K JavaFX ObservableList + Fenster AWT, Swing, JavaFX & SWT 6
windl Transparentes / halbtransparentes Fenster AWT, Swing, JavaFX & SWT 1
K Fenster mittig im Vollbildschirm - ok, aber ... AWT, Swing, JavaFX & SWT 2
N Swing Sorry nicht mal ein Fenster öffnen... AWT, Swing, JavaFX & SWT 19
S actionlistener mit 2 fenster integrieren AWT, Swing, JavaFX & SWT 11
G Event Handling TableView daten in ein neues Fenster herauslesen? AWT, Swing, JavaFX & SWT 3
C Benutzername in GUI eingeben und nach Spiel neues Fenster Benutzername wieder anzeigen AWT, Swing, JavaFX & SWT 1
C Durch klicken von Button neues Fenster oeffnen AWT, Swing, JavaFX & SWT 18

Ähnliche Java Themen

Anzeige

Neue Themen


Oben