Проблема рисования интерфейса и перетаскивания - JAVA - PullRequest
0 голосов
/ 11 января 2020

Я новичок в Java и хочу переместить какую-то фигуру. как я могу перетащить эти 3 части?

Этот проект предназначен для перетаскивания, как игра-головоломка.

import Model.*;
import View.*;
import java.awt.Graphics;
import java.awt.Point;
import java.awt.event.ComponentAdapter;
import java.awt.event.ComponentEvent;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.util.ArrayList;

public class Nivel1 {

    NewJFrame nf;

    Shape s1;
    Shape s2;
    Shape s3;
    Shape mm1;
    Point p = new Point(0, 0);

    public Nivel1() {

        this.nf = new NewJFrame();
        nf.setVisible(true);

        this.s1 = ShapeFactory.getShapeInstance("1");
        s1.setX(80);
        s1.setY(80);

        this.s2 = ShapeFactory.getShapeInstance("2");
        s2.setX(80);
        s2.setY(200);

        this.s3 = ShapeFactory.getShapeInstance("3");
        s3.setX(80);
        s3.setY(320);

        this.mm1 = ShapeFactory.getShapeInstance("m1");
        mm1.setX(80);
        mm1.setY(80);

        nf.addComponentListener(new ComponentAdapter() {
            @Override
            public void componentResized(ComponentEvent evt) {
                // System.out.println("componentResized");
                paintInterface();
            }

        });

        nf.pack();
        nf.revalidate();
        nf.repaint();

    }


    public void paintInterface() {
        Graphics g = nf.getGraphics();
        nf.paintComponents(g);
        mm1.draw(g);
        s1.draw(g);
        s2.draw(g);
        s3.draw(g);
    }

}

enter image description here

И моя вторая проблема с функцией рисования. Всякий раз, когда я запускаю свое приложение, после изменения размера Jframe ничего не появляется. Спасибо!

...