Java: Possible lossy conversion from double to int?
Guten Tag,
ich möchte ein Bild anzeigen, die Position dabei aber in einem double angeben. currentDrawing.x / y sind bereits double Werte. Weiß jemand, warum dieser Fehler aufkommt? Oder kann die Methode nur Integer annehmen? Vielen Dank schonmal!
public void startdraw(List world) {
JPanel panel = new JPanel() {
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
BufferedImage buffer = new BufferedImage(frame.getWidth(), frame.getHeight(), BufferedImage.TYPE_INT_ARGB);
Graphics bufferGraphics = buffer.getGraphics();
world.toFirst();
while (world.getContent() != null) {
Block currentDrawing = (Block)world.getContent();
if (currentDrawing != null) {
bufferGraphics.drawImage(currentDrawing.texture, currentDrawing.x*50.0, currentDrawing.y*50.0, (int)50, (int)50, null);
}
world.next();
}
g.drawImage(buffer, 0, 0, null);
}
};
frame.add(panel);
frame.setVisible(true);
}
1 Antwort
Vom Beitragsersteller als hilfreich ausgezeichnet
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
Java, Code, Programmiersprache
Die Methode erwartet für die Positionsangaben Integer-Argumente. Schau dafür in die API-Referenz. In der werden alle Klassen mitsamt ihrer Methoden aufgelistet.
Tatsächlich war der Fehler extrem dumm. Ich kann die Grafik ja nicht um einen halben Pixel verschieben