1

私のメインクラスには、マシンから画像をロードし、フレームに表示してその上に描画する次のコードがあります。

public class ShowMap extends JPanel {

    private static final int WIDTH = 1340;
    private static final int HEIGHT = 613;

    public void main(String args[]) {
        JFrame frame = new JFrame("MAP");
        frame.setPreferredSize(new Dimension(WIDTH, HEIGHT));
        frame.setMinimumSize(new Dimension(WIDTH, HEIGHT));
        frame.setMaximumSize(new Dimension(WIDTH, HEIGHT));
        frame.setResizable(false);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        JPanel panel = (JPanel)frame.getContentPane();
        JLabel label = new JLabel();
        label.setIcon(new ImageIcon("map.png"));
        panel.add(label);
    }
}

読み込んでいる画像は、正しい座標に点を描くことでいくつかのオブジェクトの位置を示したいマップです。DrawPointしたがって、ここでは、ポイントを取得する座標をクラス (以下)に指示することが重要です。

また、描いた点を消す方法も教えていただけると助かります。

検索の結果、次のようになりましたが、メソッドの引数に追加するとすぐに強調表示されなくなり、座標を引数として渡すときint coordx, int coordyにこのメソッドを呼び出す方法がわかりません。ShowMap

public class DrawPoint extends JPanel {

    private int coordx;
    private int coordy;

    public void paintComponent(Graphics g, int coordx, int coordy){
        g.setColor(Color.BLACK);
        g.fillOval(coordx,coordy,8,8);
    }
}
4

1 に答える 1