Icon wird nicht angezeigt

Trolok

Mitglied
Mahlzeit hab ein kleines Problem ich versuche ein Fenster zu erschaffen mit einem Icon und Jbutton, das Fenster wird erstellt aber es ist grau <.< ich wette ist ein ganz kleiner Fehler sitze aber schon seit 3 Stunden dran:
Java:
public void run()
            {
                Welt welt=new Welt();
                welt.setWelt();
                welt.weltErschaffen();
            }
Java:
public class Welt extends JFrame
{
    private Icon[][] bilder = new Icon[3][7];
    private JButton[][][] button = new JButton[3][7][5];
    JFrame einFenster = new JFrame("Spiel");

    public void weltErschaffen()
    {
        Dimension d, g; 
        Point pos;
        d=Toolkit.getDefaultToolkit().getScreenSize();
        g=new Dimension(600,300);
        pos = new Point();
        pos.x=(d.width - g.width)/2;
        pos.y=(d.height- g.height)/2;       
        einFenster.setLocation(pos);
        einFenster.setSize(g);    
        einFenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        einFenster.setVisible(true);

        Button start = new Button();
        start.start();
    }
   
    public void setWelt()
    {
        for(int i = 0;i<bilder[0].length;i++)
            {            
            bilder[0][i] = new ImageIcon("Bilder/"+i+".png);//es sind 7 Bilder 0-7            
            }}
           public Icon[][] getWelt()
           {
            return bilder;
            }
        public void setButton(JButton knopf, int raum, int bild, int zahl)
        {
            button[raum][bild][zahl]=knopf;           
        }      
        public JButton[][][] getButton()
        {
        
            return button;
        }
       
    public JFrame getWeltErschaffen()
    {
        return einFenster;
    }
    }

Java:
public class Button{
    Bild frame = new Bild();
    Welt welt = new Welt();
    public void start()
        {           
            Action starten = new Action();
            JButton start = new JButton("Spiel starten");
            start.setBounds(80,130,120,20);
            start.setActionCommand("1");
            start.addActionListener(starten);
            welt.setButton(start,0,0,0);
            frame.Frame(welt.getWelt(),welt.getButton(), 0,3);
        }
    }
Java:
public class Bild extends JFrame {
        Welt welt = new Welt();
public void Frame(Icon bilder[][],JButton button[][][], int raum, int bild) {        
        JLabel flache = new JLabel(bilder[raum][bild]);     
        
        for(int nummer=0; button[raum][bild][nummer]!=(null);nummer++)
        {
        flache.add(button[raum][bild][nummer]);        
        }
       welt.getWeltErschaffen().add(flache); 
        
        
    }
}
 

Raum114

Mitglied
Ohne dein Programm wirklich verstanden zu haben, habe ich es jetzt mal so modifiziert, dass zumindest ein Bild im Zentrum des Fensters angezeigt wird (Koala.gif muss wieder raus). Hilft dir das weiter?
Java:
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        Welt welt = new Welt();
        welt.setWelt();
        welt.weltErschaffen();
    }

    public static class Welt extends JFrame {

        private Icon[][] bilder = new Icon[3][7];
        private JButton[][][] button = new JButton[3][7][5];
        JFrame einFenster = new JFrame("Spiel");

        public void weltErschaffen() {
            einFenster.setLocationRelativeTo(null);
            einFenster.setSize(new Dimension(600, 300));
            einFenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            einFenster.setVisible(true);

            Button start = new Button();
            start.start(this);
        }

        public void setWelt() {
            for (int i = 0; i < bilder[0].length; i++) {
                bilder[0][i] = new ImageIcon("Koala.gif");

            }
        }

        public Icon[][] getWelt() {
            return bilder;
        }

        public void setButton(JButton knopf, int raum, int bild, int zahl) {
            button[raum][bild][zahl] = knopf;
        }

        public JButton[][][] getButton() {

            return button;
        }

        public JFrame getWeltErschaffen() {
            return einFenster;
        }
    }

    public static class Button {

        Bild frame = new Bild();

        public void start(Welt welt) {
//            Action starten = new Action();
            JButton start = new JButton("Spiel starten");
            start.setBounds(80, 130, 120, 20);
            start.setActionCommand("1");
//            start.addActionListener(starten);
            welt.setButton(start, 0, 0, 0);
            frame.frame(welt.getWelt(), welt.getButton(), 0, 3, welt);
        }
    }

    public static class Bild extends JFrame {

        public void frame(Icon bilder[][], JButton button[][][], int raum, int bild, Welt welt) {
            JLabel flache = new JLabel(bilder[raum][bild]);

            for (int nummer = 0; button[raum][bild][nummer] != (null); nummer++) {
                flache.add(button[raum][bild][nummer]);
            }
            welt.getWeltErschaffen().add(flache);
        }
    }
}
 

Trolok

Mitglied
kleine Erläuterung zum Programm es sind 5 Klassen
GameGUI
welt.setWelt(); es werden alle Bilder in array "bilder" gespeichert
welt.weltErschaffen(); ein Fenster wird generiert
Welt:
start.start(); nach dem ein Fenster generiert wurde, wird man in Klasse Button weitergeleitet
Button:
welt.setButton(start,0,0,0); Es wird ein Button generiert (start) und in button[0][0][0] abgespeichert
Bild:
nun wird man zu Bild weitergeleitet dort wird ein JLabel erstellt mit Icon bilder[0][0], durch die schleife werden alle Buttons der "flache" hinzugefügt und flache wird dem fenster hinzugefügt.

mehr sollte das Programm ned machen hoffe war verständlich
 

Raum114

Mitglied
Wenn du "nur" mit einer Fläche arbeitest sollte das sich auch im Code wiederspiegeln und entsprechend die Buttons in einem 2D Array abgelegt werden. Wenn du das dritte Feld nur dazu brauchst die Buttons zu nummerieren, mach das lieber z.B. mit einer Wrapper-Klasse pro Button. Das erhöht das Verständnis für dich und für andere ungemein. Du könntest auch überlegen ob du die Arrays wirklich brauchst weil es schon sowas wie GridLayouts gibt in denen du die Komponenten "arrayartig" einfügen kannst.
 

Trolok

Mitglied
naja das 3te Feld sollte später für Speicherfkt genutzt werden so dass quasie in ner text datei gespeichert wird welche buttons bereits gedrückt wurden, du hast bestimmt Recht man kann das alles sicher eleganter gestalten :oops: aber grad gehts mir mehr um das Mysterium des verschwundenen Bildes ???:L
 

Raum114

Mitglied
Also falls diese Anweisung meinst:
Java:
Bild frame = new Bild();
Das Bild-Objekt das du da erstellst verwendest du ja nicht mehr weiter. Das wird dann einfach vom Garbage Collector geschluckt.
 

Trolok

Mitglied
Java:
frame.Frame(welt.getWelt(), welt.getButton(), 0, 3);
wird doch verwendet oder wie meinst du das?
 

Raum114

Mitglied
Du erstellst das Bild, rufst eine Methode auf dem Bild auf, danach wird es aber von keiner anderen Komponente mehr referenziert, daher verschwindet es.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Warum wird mein Icon bei den JTree Nodes nicht angezeigt? Java Basics - Anfänger-Themen 7
G Image/-Icon wird nicht auf JPanel angezeigt Java Basics - Anfänger-Themen 4
G Icon für App Java Basics - Anfänger-Themen 1
J JLabel bzw. Image Icon mit KeyEvent bewgen Java Basics - Anfänger-Themen 9
thobren JTable Icon Java Basics - Anfänger-Themen 1
Tom/S JLabel Icon Farbe Java Basics - Anfänger-Themen 2
T Image Icon Java Basics - Anfänger-Themen 3
S ProgrammierHilfe dringend gesucht ( Icon bewegen) Java Basics - Anfänger-Themen 9
krgewb Icon von JButton ändern Java Basics - Anfänger-Themen 1
L Website Icon Java Basics - Anfänger-Themen 9
T JOptionPane mit eigenem Icon Java Basics - Anfänger-Themen 4
Hijo2006 Eclipse: Java Icon ändern Java Basics - Anfänger-Themen 9
J *JAR-ICON ÄNDERN, WIE?* Java Basics - Anfänger-Themen 2
J JLabel Icon neu zeichnen Java Basics - Anfänger-Themen 2
Z JLabel Icon ändern Java Basics - Anfänger-Themen 2
D Ein Icon ohne Pfad sondern mit Package. Java Basics - Anfänger-Themen 4
A Icon für Programm festlegen Java Basics - Anfänger-Themen 2
T Icon auf einem JTabbedPane? Java Basics - Anfänger-Themen 6
S Bild Icon aus ID3Tag auslesen Java Basics - Anfänger-Themen 4
L JLabel Icon Größe anpassen Java Basics - Anfänger-Themen 11
M Icon laden und anzeigen Java Basics - Anfänger-Themen 2
N Icon des Fensters Java Basics - Anfänger-Themen 10
H JButton - Icon(.png) aus resources laden Java Basics - Anfänger-Themen 23
S Gnome Icon Pack - erzwingt es die GPL? Java Basics - Anfänger-Themen 7
A jbutton - icon linksbündig, text zentriert Java Basics - Anfänger-Themen 10
T Icon eines Label speichern Java Basics - Anfänger-Themen 9
SexyPenny90 JLabel Text und Icon untereinander verwenden Java Basics - Anfänger-Themen 3
B Java Jar Icon Ändern/Umweg? Java Basics - Anfänger-Themen 5
P Icon ändern Java Basics - Anfänger-Themen 8
M RadioButton change (active) icon? Java Basics - Anfänger-Themen 8
F Icon der runnable jar ändern Java Basics - Anfänger-Themen 3
brunothg Internal JOptionPane Icon ändern Java Basics - Anfänger-Themen 5
0 Icon in JLabel Java Basics - Anfänger-Themen 6
D Interface Icon Java Basics - Anfänger-Themen 7
P Java MenuItem Icon Systemtray Java Basics - Anfänger-Themen 3
J Icon JDialog mit Java 1.4 Java Basics - Anfänger-Themen 2
W Java-Programm als Icon mit Doppelklick einfach öffnen ? Java Basics - Anfänger-Themen 3
M Image-Icon Ändern Java Basics - Anfänger-Themen 15
S JTable mit Text UND Icon in einer Zelle Java Basics - Anfänger-Themen 5
R Icon auf JLabel nach Knopfdruck ändern Java Basics - Anfänger-Themen 20
J Elegante Art mehrere Label mit einem icon zu setzen Java Basics - Anfänger-Themen 13
J Menüleiste Kaffe-Icon entfernen wie? Java Basics - Anfänger-Themen 8
Mr.Isaaaac [SOLVED] System Tray Popup MenüItem mit Icon? Java Basics - Anfänger-Themen 7
D JFrame Icon setzen? Java Basics - Anfänger-Themen 8
J Klick auf Icon eines Labels registrieren. Java Basics - Anfänger-Themen 4
TheKing Programm-Icon entfernen Java Basics - Anfänger-Themen 3
U Icon mit Pfeil und Menupunkten gesucht Java Basics - Anfänger-Themen 3
J Icon ändern? Java Basics - Anfänger-Themen 2
L Eigenes List Model für Icon + String -> Speicherhungrig? Java Basics - Anfänger-Themen 8
F icon von .jar ändern Java Basics - Anfänger-Themen 10
S Icons in Icon-Odner auslagern Java Basics - Anfänger-Themen 2
C JOptionPane mit Icon Java Basics - Anfänger-Themen 5
G Bild auf Button legen(bzw Icon) und Bild auf JFrame legen? Java Basics - Anfänger-Themen 7
1 Icon Cache leeren Java Basics - Anfänger-Themen 10
G JFileChooser - Change Icon Problem! Java Basics - Anfänger-Themen 2
D jar icon ? Java Basics - Anfänger-Themen 7
A Icon in der Titelzeile des JFrame Java Basics - Anfänger-Themen 2
M Icon einfügen Java Basics - Anfänger-Themen 2
M Prozessname/Icon von geöffneten Fenstern lesen. Java Basics - Anfänger-Themen 3
G JLabel - Icon und Text untereinander anordnen? Java Basics - Anfänger-Themen 2
H Icon links oben im JFrame deaktivieren? Java Basics - Anfänger-Themen 2
G Icon einbinden Java Basics - Anfänger-Themen 2
G Icon für JAR-Datei Java Basics - Anfänger-Themen 16
G Icon einfügen klappt nicht Java Basics - Anfänger-Themen 3
N In einer JToolbar das Icon ganz rechts anordnen Java Basics - Anfänger-Themen 5
G Icon einfügen Java Basics - Anfänger-Themen 4
M SystemTray zeigt kein Icon an Java Basics - Anfänger-Themen 11
B icon fehlt Java Basics - Anfänger-Themen 3
G FileChooser icon ändern? Java Basics - Anfänger-Themen 6
G programmerstellen mit icon Java Basics - Anfänger-Themen 4
J setDisabledSelectedIcon(Icon disabledSelectedIcon) Java Basics - Anfänger-Themen 2
T Icon? Java Basics - Anfänger-Themen 3
N Eigenes Icon in InputDialog geht nicht! Java Basics - Anfänger-Themen 7
N JMenuItem -> Icon & RolloverIcon Java Basics - Anfänger-Themen 2
D JOptionPane mit eigenem Icon Java Basics - Anfänger-Themen 2
G setborder zeigt das icon nicht an Java Basics - Anfänger-Themen 5
M Icon in Jar File Java Basics - Anfänger-Themen 2
C JTable - Checkbox, Icon, was auch immer. Java Basics - Anfänger-Themen 8
F Relative Pfade zu Fenster-Icon in Main-Methode? Java Basics - Anfänger-Themen 7
M icon anzeigen Java Basics - Anfänger-Themen 6
M JAR-Datei Icon zuweisen Java Basics - Anfänger-Themen 11
K Warum wird mir auf der Konsole des Servers nicht "xxxx" angezeigt (Server/Client) Java Basics - Anfänger-Themen 4
K Warum wird hier nur etwas in eine txt Datei geschrieben und nicht in alle drei (InputStream/OutputStream/Reader/Writer) Java Basics - Anfänger-Themen 1
I Exception wird gefangen, aber trotzdem in Error Log? Java Basics - Anfänger-Themen 10
H JDK installieren jdk-21 wird nicht erkannt Java Basics - Anfänger-Themen 13
T if-else Bedingung wird ignoriert Java Basics - Anfänger-Themen 4
K Warum wird mir "Empfangen vom Client:" nicht sofort ausgegeben(Server/Client) Java Basics - Anfänger-Themen 3
P Webseite vom Smartmeter wird nur unleserlich angezeigt Java Basics - Anfänger-Themen 7
A Warum wird mein jdk nicht gefunden? Java Basics - Anfänger-Themen 3
J jar Befehl wird nicht erkannt Java Basics - Anfänger-Themen 7
M Anonyme Klassen - Warum wird in der Konsole nichts ausgegeben? Java Basics - Anfänger-Themen 1
T catch(InputMismatchException) wird nicht ausgefürt/erkannt Java Basics - Anfänger-Themen 12
berserkerdq2 Intelij, wie kann ich einstellen, dass die aktuelle Klasse ausgeführt wird, wenn ich aufs Startsymbol drücke, gibts da eine Tastenkombination? Java Basics - Anfänger-Themen 11
M Verständnisfrage: Warum wird die Datei ohne Inhalt übertragen Java Basics - Anfänger-Themen 3
Ostkreuz Wieso wird die Methode nochmal aufgerufen? Java Basics - Anfänger-Themen 5
Oneixee5 Maven Plugin wird 2 mal ausgeführt Java Basics - Anfänger-Themen 10
R Compiler-Fehler Variable wird nicht gefunden bzw. erkannt? Java Basics - Anfänger-Themen 2
D Interface Methode wird ungewollt in der Subklasse überschrieben Java Basics - Anfänger-Themen 5
C Was tun wenn .class erwartet wird ? Java Basics - Anfänger-Themen 6
T Meine Klasse wird nicht gefunden Java Basics - Anfänger-Themen 1

Ähnliche Java Themen

Neue Themen


Oben