Hallo zusammen!
Ich habe folgendes Problem mit meinem Projekt. Idee ist, ich will für mein ClickandPointAdventure eine Map basteln.
Die Map soll ein statischer Hintergrund sein (einfach nur ein Image). Auf diesen soll ein Punkt gezeichnet werden ( der später von der Position abhängig ist, wo ich mich gerade befinde --> noch nicht im code)
Lasse ich die Comments unten in der void paint Methode drin, dann zeichnet er zwar meinen Kreis/Punkt aber nicht meine Map/meinen Hintergrund bzw mein Hintergrund ist grau (evtl überdeckt der Kreis alles, zeichnet sich selber dabei einen grauen Hintergrund , da der normale Hintergrund weiß ist vermutete ich das ...).
Ein Freund empfahl mir die repaint Lösung die ich momentan gecomment habe. Problem ist, dass er dann zwar meinen Hintergrund und meine Map zeichnet, aber nicht mehr meinen Kreis.
Vielen Dank schonmal im Voraus, wer sich mein Problem bis hierhin schonmal durchgelesen hat
Ich habe folgendes Problem mit meinem Projekt. Idee ist, ich will für mein ClickandPointAdventure eine Map basteln.
Die Map soll ein statischer Hintergrund sein (einfach nur ein Image). Auf diesen soll ein Punkt gezeichnet werden ( der später von der Position abhängig ist, wo ich mich gerade befinde --> noch nicht im code)
Lasse ich die Comments unten in der void paint Methode drin, dann zeichnet er zwar meinen Kreis/Punkt aber nicht meine Map/meinen Hintergrund bzw mein Hintergrund ist grau (evtl überdeckt der Kreis alles, zeichnet sich selber dabei einen grauen Hintergrund , da der normale Hintergrund weiß ist vermutete ich das ...).
Ein Freund empfahl mir die repaint Lösung die ich momentan gecomment habe. Problem ist, dass er dann zwar meinen Hintergrund und meine Map zeichnet, aber nicht mehr meinen Kreis.
Vielen Dank schonmal im Voraus, wer sich mein Problem bis hierhin schonmal durchgelesen hat
Java:
import java.awt.*;
import java.awt.event.*;
import java.awt.Graphics;
import [U]java.awt.Graphics2D[/U];
import java.net.URL;
import javax.swing.*;
/**
*
* [U]Beschreibung[/U]
*
* @version 1.1 [U]vom[/U] 17. [U]Juni[/U] 2015
* @author [U]Vincent[/U] [U]Hallmann[/U]
*/
publicclass Map extends JFrame {
privatestaticfinallongserialVersionUID = 1L;
// [U]Anfang[/U] Attribute
private JButton Ende = new JButton();
private JLayeredPane Bildbereich = new JLayeredPane();
private MapLabel bild = new MapLabel();
// [U]Ende[/U] Attribute
public Map(String title) {
// Frame-[U]Initialisierung[/U]
super(title);
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
int frameWidth = 900;
int frameHeight = 600;
setSize(frameWidth, frameHeight);
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
int x = (d.width - getSize().width) / 2;
int y = (d.height - getSize().height) / 2;
setLocation(x, y);
setResizable(false);
Container cp = getContentPane();
cp.setLayout(null);
// [U]Anfang[/U] [U]Komponenten[/U]
Bildbereich.setOpaque(true);
Bildbereich.setBackground(Color.white);
Bildbereich.setBounds(20, 20, 770, 540);
Bildbereich.setBorder(new javax.swing.border.LineBorder(Color.GRAY, 5));
cp.add(Bildbereich);
bild.setBounds(5, 5, 805, 505);
bild.setText("");
Bildbereich.add(bild, 10);
this.bild.setIcon(bildstory("map.jpg"));
Ende.setBounds(800, 20, 80, 50);
Ende.setText("Back");
Ende.setVisible(true);
Ende.setMargin(new Insets(2, 2, 2, 2));
Ende.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt) {
Ende_ActionPerformed(evt);
}
});
cp.add(Ende);
cp.setBackground(new Color(0xF8F0C));
setTitle("Map.jar");
setVisible(true);
}
public void paint(Graphics g)
{
g.setColor(Color.red);
g.fillOval(100, 200, 50, 50);
//this.getContentPane().repaint();
}
// [U]Anfang[/U] [U]Methoden[/U]
public ImageIcon bildstory(String aFilename)
{
URL imgURL = AdventureGame.class.getResource(aFilename);
if(imgURL != null)
{
return new ImageIcon(imgURL);
}
else
{
System.err.println("cannot load image " + aFilename);
returnnull;
}
}
public void Ende_ActionPerformed(ActionEvent evt) {
dispose();
}
public static void main(String[] args) {
new Map("Map");
}
}