Versuche verzweifelt In JFrame ein einfaches Bild als Hintergrund hinzuzufügen.
Mit dem kleinen Programm Java-Editor funktioniert der Code und das Bild wird angezeigt,
mit Netbeans funktioniert es nicht, es kommt zwar kein Error, aber es wird nur ein leeres Fenster geöffnet statt eines mit Bild. Ich habe ein größeres Projekt am laufen ein Mensch ärger dich nicht Spiel, das ich, mit Netbeans programmiert habe. Da funktioniert das hintergrundbild auch nicht, obwohl ich es von der funktionsweise auch nicht anders Programiert habe. Liegt es nur an Netbeans und wenn ja an was genau? Leider funktionirt das mensch-ärger-dich Program im Java-Editor auch nicht.
Kleines Program das nur hintergrundbild im JFrame anzeigt:
Die Klasse in der das Gui ist für das mensch ärger dich nicht
Mit dem kleinen Programm Java-Editor funktioniert der Code und das Bild wird angezeigt,
mit Netbeans funktioniert es nicht, es kommt zwar kein Error, aber es wird nur ein leeres Fenster geöffnet statt eines mit Bild. Ich habe ein größeres Projekt am laufen ein Mensch ärger dich nicht Spiel, das ich, mit Netbeans programmiert habe. Da funktioniert das hintergrundbild auch nicht, obwohl ich es von der funktionsweise auch nicht anders Programiert habe. Liegt es nur an Netbeans und wenn ja an was genau? Leider funktionirt das mensch-ärger-dich Program im Java-Editor auch nicht.
Kleines Program das nur hintergrundbild im JFrame anzeigt:
Java:
package testfenster;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
/**
*
* @author DaerHD
*/
public class TESTFENSTER extends JFrame {
/**
* @param args the command line arguments
*/
JLabel vHintergrund;
ImageIcon bHintergrund = new ImageIcon("Spielbrett.png");
public TESTFENSTER(){
//
vHintergrund = new JLabel(bHintergrund);
vHintergrund.setBounds(0, 0, 1980, 1080);
//
this.getContentPane().setLayout(null);
this.getContentPane().add(vHintergrund);
//
this.setTitle("MENSCH ÄRGER DICH NICH");
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setSize(1920, 1080);
this.setVisible(true);
repaint();
}
public static void main(String[] args) {
new TESTFENSTER();
}
}
Die Klasse in der das Gui ist für das mensch ärger dich nicht
Java:
package Grafik;
//Import
import Kontrolle.Steuerung;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class Oberfläche extends JFrame {
//Assoziation
private final Steuerung cController ;
//Attributte
private JLabel vHintergrund;
private JButton gWürfelbutton;
private JLabel gWürfelzahlanzeigebild;
private static JLabel[] vSpielfigurkörper = new JLabel[16];
/////////////////////////////////////////////////////////////////////
//Metoden://////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
public Oberfläche(Steuerung cController) {
//Assoziation
this.cController = cController;
//Bilder
ImageIcon[] vBilddaten = cController.getBilddaten();
vHintergrund = new JLabel(vBilddaten[0]);
vHintergrund.setBounds(0, 0, 1980, 1080);
gWürfelbutton = cController.getKnopfdaten();
gWürfelzahlanzeigebild = new JLabel(new ImageIcon("Würfel_0.jpg"));
this.getContentPane().setLayout(null);
this.getContentPane().add(vHintergrund);
vHintergrund.add(gWürfelbutton);
vHintergrund.add(gWürfelzahlanzeigebild);
for(int j=0; j<16; j=j+1){ vHintergrund.add(new JLabel(vBilddaten[j+2]) ); }
//Erstelle Fenster
this.setTitle("MENSCH ÄRGER DICH NICH");
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setSize(1920, 1080);
this.setVisible(true);
//this.repaint();
//this.validate();
}
public void zeigeWürfel(ImageIcon vvWürfelzahlanzeigebild) { gWürfelzahlanzeigebild = new JLabel(vvWürfelzahlanzeigebild); }
public void bewegeSpielfigur( int[] vSpielfigurkörperposition) { vSpielfigurkörper[Steuerung.I].setBounds(115, 116, vSpielfigurkörperposition[0], vSpielfigurkörperposition[1]); }
public void gebeGewinnerBekannt(int aktuellerSpieler) {
gWürfelbutton.setVisible(false);
gWürfelzahlanzeigebild.setVisible(false);
for(int j=0; j<16; j=j+1){
vSpielfigurkörper[j].setVisible(false);
}
ImageIcon[] vBilddaten = cController.getBilddaten();
vHintergrund = new JLabel(vBilddaten[17]);
vHintergrund.setBounds(0, 0, 1980, 1080);
this.getContentPane().add(vHintergrund);
}
}