私はずっとjavaでプログラミングしていないので、とても混乱しています。私はコードがかなり整理されていて、それほどオブジェクト指向ではないことは知っていますが、なぜ私の "Laser Dot"イメージが "Map Tracker"イメージだけで動くのか不思議です。私はそれを私がやろうとしているGPSトラッカープロジェクトのテストとして使っています。私はちょうど赤い点画像が地図画像に沿って動くことができるようにしたい。setLocation()関数は別のJLabel上のJLabelの位置を変更することを許可していません
import java.awt.*;
import java.awt.geom.Line2D;
import java.awt.image.*;
import java.io.*;
import javax.imageio.ImageIO;
import javax.swing.*;
public class Main extends JFrame{
public static void main(String[] args) {
BufferedImage img = null;
BufferedImage redDot = null;
try {
System.out.println(new File("C:/Users/User/Downloads/MapTracker.jpg").exists());
img = ImageIO.read(new File("C:/Users/User/Downloads/MapTracker.jpg"));
redDot = ImageIO.read(new File("C:/Users/User/Downloads/LaserDot.png"));
} catch (IOException e) {
e.printStackTrace();
}
JFrame frame = new JFrame();
frame.setTitle("Window");
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(1366,768);
int w = img.getWidth(null);
int h = img.getHeight(null);
ImageIcon icon = new ImageIcon(img);
JLabel label = new JLabel(icon);
label.setLayout(null);
JLabel dot = new JLabel();
frame.add(label);
Graphics2D g = (Graphics2D) img.getGraphics();
label.add(dot);
dot.setLocation(1000,300);
dot.setBounds(100,100,500,500);
g.drawImage(redDot, 0, 0, null);
g.setStroke(new BasicStroke(2));
g.setColor(Color.BLACK);
g.draw(new Line2D.Double(0.0,0.0,500.0,500.0));
System.out.println("Image Drawn");
}
}
引き出し線は無視することができます。私の問題には関係しません。
try/catchブロックを使用して例外を見つける方法はありますか?いいえ、ありがとうございます。 – Omer