Grüße,
Hier habe ich mal meinen Quelltext. Folgendes Problem. Ich habe einen Frame erzeugt welcher auf FSEM geschalten wird. Darein packe ich ein Canvas und in das Canvas (Hier mit dem Namen IFrame) zeichne ich ein Bild. So weit so gut. Doch auch nach langem probieren schaffe ich es nicht das Canvas auf dem Frame zu verschieben. Das Bild unter render() wird immer in der linken oberen Ecke gezeichnet egal wo ich das Canvas positioniere. In diesem Beispiel hat das Canvas die Position 100|100. Also müsste das Bild an Position 100|100 gezeichnet werden, tut es aber nicht es wird an Position 0|0 gezeichnet. Kann mir jemand sagen wieso oder wie ich dieses Problem lösen könnte?
Hier habe ich mal meinen Quelltext. Folgendes Problem. Ich habe einen Frame erzeugt welcher auf FSEM geschalten wird. Darein packe ich ein Canvas und in das Canvas (Hier mit dem Namen IFrame) zeichne ich ein Bild. So weit so gut. Doch auch nach langem probieren schaffe ich es nicht das Canvas auf dem Frame zu verschieben. Das Bild unter render() wird immer in der linken oberen Ecke gezeichnet egal wo ich das Canvas positioniere. In diesem Beispiel hat das Canvas die Position 100|100. Also müsste das Bild an Position 100|100 gezeichnet werden, tut es aber nicht es wird an Position 0|0 gezeichnet. Kann mir jemand sagen wieso oder wie ich dieses Problem lösen könnte?
Java:
import java.awt.*;
import java.awt.image.BufferStrategy;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.*;
public class Ike
{
public static void main(String[] args)
{
Fullscreen Role = new Fullscreen();
Role.entrance();
}
}
class Fullscreen implements Runnable
{
private static final long serialVersionUID = 1L;
GraphicsEnvironment Umwelt;
GraphicsDevice Werkzeug;
boolean halt = false;
int i = 0;
int x = 0;
JFrame FullFrame = new JFrame();
Canvas IFrame = new Canvas();
BufferStrategy BSI;
BufferedImage Karte;
public void entrance()
{
FullFrame.setIgnoreRepaint(true);
FullFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
FullFrame.setUndecorated(true);
FullFrame.setResizable(false);
FullFrame.add(IFrame);
FullFrame.setVisible(true);
Umwelt = GraphicsEnvironment.getLocalGraphicsEnvironment();
Werkzeug = Umwelt.getDefaultScreenDevice();
Werkzeug.setFullScreenWindow(FullFrame);
IFrame.setIgnoreRepaint(true);
IFrame.setVisible(true);
IFrame.setSize(new Dimension(1000,500));
IFrame.setLocation(100,100);
IFrame.setFocusable(true);
IFrame.requestFocus();
IFrame.createBufferStrategy(2);
BSI = IFrame.getBufferStrategy();
System.out.println("Fullscreen CHECK.");
buffer();
ini();
}
public void buffer()
{
}
public void ini()
{
Thread Prozess = new Thread(this);
Prozess.run();
}
public void run()
{
render();
}
}
public void render()
{
x++;
Graphics2D g = (Graphics2D)BSI.getDrawGraphics();
g.drawImage(Karte,0,0,null);
g.setColor(Color.red);
g.drawString("Renderinglauf:" + x,50,50);
BSI.show();
Toolkit.getDefaultToolkit().sync();
g.dispose();
}
public void stop()
{
halt = true;
System.exit(1);
}
}
Zuletzt bearbeitet: