samedi 30 mai 2015
Paint-Methode in anderer Klasse funktioniert nicht
Posted on 09:58 by verona
Hallo Leute,
ich weiß echt nicht weiter. Ich habe eine Klasse mit dem Namen Hauptfenster. In ihr wird ein JFrame mit einer Menubar erstellt.
Über diese Menubar wird, wenn man auf "Neu" klickt, das Objekt grafische_Oberflaeche der Klasse Grafische_Oberflaeche erzeugt.
Damit will ich ein JPanel erzeugen um auf diesem später verschiedene grafische Elemente darzustellen. Zunächst soll jedoch nur ein rotes Rechteck abgebildet werden, um zu testen ob alles klappt. Doch es klappt nicht...
Das JPanel wird wie geplant erstellt, dass sehe ich daran, dass sich die Hintergrundfarbe ändert, wenn ich .setBackground verwende.
Aber irgendwas stimmt mit der paint-Methode nicht. Das Rechteck erscheint einfach nicht.
Sie müsste eigentlich richtig geschrieben sein, weil wenn ich sie in meine Hauptfenster-Klasse einfüge,
wird das rote Rechteck problemlos gezeichnet. Könnte es vielleicht daran liegen, dass ich die paint_Methode nicht in der Hauptklasse stehen habe? Sonst fällt mir nichts ein.
Wäre nett, wenn sich das mal jemand anschauen könnte und vielen Dank im Voraus.
Mein Code:
Hab noch vergessen zu erwähnen, dass keine Fehlermeldung angezeigt wird
ich weiß echt nicht weiter. Ich habe eine Klasse mit dem Namen Hauptfenster. In ihr wird ein JFrame mit einer Menubar erstellt.
Über diese Menubar wird, wenn man auf "Neu" klickt, das Objekt grafische_Oberflaeche der Klasse Grafische_Oberflaeche erzeugt.
Damit will ich ein JPanel erzeugen um auf diesem später verschiedene grafische Elemente darzustellen. Zunächst soll jedoch nur ein rotes Rechteck abgebildet werden, um zu testen ob alles klappt. Doch es klappt nicht...
Das JPanel wird wie geplant erstellt, dass sehe ich daran, dass sich die Hintergrundfarbe ändert, wenn ich .setBackground verwende.
Aber irgendwas stimmt mit der paint-Methode nicht. Das Rechteck erscheint einfach nicht.
Sie müsste eigentlich richtig geschrieben sein, weil wenn ich sie in meine Hauptfenster-Klasse einfüge,
wird das rote Rechteck problemlos gezeichnet. Könnte es vielleicht daran liegen, dass ich die paint_Methode nicht in der Hauptklasse stehen habe? Sonst fällt mir nichts ein.
Wäre nett, wenn sich das mal jemand anschauen könnte und vielen Dank im Voraus.
Mein Code:
Java Code:
-
package Main;
-
-
import TileMap.Grafische_Oberflaeche;
-
import java.awt.event.ActionEvent;
-
import java.awt.event.ActionListener;
-
import javax.swing.JFrame;
-
import javax.swing.JLabel;
-
import javax.swing.JMenu;
-
import javax.swing.JMenuBar;
-
import javax.swing.JMenuItem;
-
import javax.swing.JPanel;
-
import javax.swing.WindowConstants;
-
-
-
-
-
-
-
private static final long serialVersionUID = 1L;
-
public static Hauptfenster komponenten;
-
-
-
-
komponenten = new Hauptfenster();
-
-
-
hauptfenster.getContentPane().add(komponenten);
-
hauptfenster.pack();
-
-
hauptfenster.setVisible(true);
-
}
-
-
-
-
-
-
-
public Hauptfenster() {
-
-
getContentPane().setLayout(null);
-
-
{
-
getContentPane().add(cursorHF);
-
cursorHF.setLocation(1,1);
-
cursorHF.setVisible(false);
-
cursorHF.setSize(10,10);
-
}
-
{
-
setJMenuBar(jTop_Menu);
-
{
-
jTop_Menu.add(jMenu1);
-
jMenu1.setText("Datei");
-
{
-
jMenu1.add(jNeu_item);
-
jNeu_item.setText("Neu");
-
jNeu_itemActionPerformed(evt);
-
}
-
});
-
}
-
}
-
}
-
}
-
-
-
-
-
Grafische_Oberflaeche grafische_Oberflaeche = new Grafische_Oberflaeche();
-
-
}
-
}
Java Code:
-
package TileMap;
-
-
import java.awt.Color;
-
import java.awt.Graphics;
-
import javax.swing.JPanel;
-
import Engine.Hauptfenster;
-
import Neu.Hauptfenster_Neu_3;
-
-
-
-
private static final long serialVersionUID = 1L;
-
JPanel panel;
-
-
-
public Grafische_Oberflaeche(){
-
Hauptfenster.komponenten.add(panel);
-
panel.setBounds(1, 2, Hauptfenster.hauptfenster.getWidth(), Hauptfenster.hauptfenster.getHeight());
-
panel.setLayout(null);
-
panel.setVisible(true);
-
}
-
@Override
-
super.paint(g);
-
g.fillRect(1, 1, 500, 500);
-
}
-
-
}
Hab noch vergessen zu erwähnen, dass keine Fehlermeldung angezeigt wird
Paint-Methode in anderer Klasse funktioniert nicht
Inscription à :
Publier les commentaires (Atom)
0 commentaires:
Enregistrer un commentaire