Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: GUI и Java FX приложения > Как переместить фигуру ?


Автор: 4epT 13.5.2009, 00:19
Добрый вечер! Пишу курсовую работу, графический 3Д редактор. вывел на форму куб(куд прорисовывается списком линий, тоесть есть структура которая хранит что есть пусть из точки А в точку Б и так далее ...). Для куба описал методы поворота, масштабирования, перемещения. Я сделаю событие по нажатию на кнопку, и вот как вызвать метод по нажатию этой кнопки ? чтобы он не начертил заного фигуру .... а просто изменил ее положение ??

Вывожу на экран куб вот так вот - 

Код

@Override
    public void paintComponent(Graphics g)
    {
        super.paintComponent(g);
        gr = (Graphics2D)g;
        Vector3D v1 = new Vector3D(1400, 1500, 1400);
        Vector3D v2 = new Vector3D(1400, 1400, 1400);
        Vector3D v3 = new Vector3D(1500, 1400, 1400);
        Vector3D v4 = new Vector3D(1500, 1500, 1400);
        Vector3D v5 = new Vector3D(1400, 1500, 1500);
        Vector3D v6 = new Vector3D(1400, 1400, 1500);
        Vector3D v7 = new Vector3D(1500, 1400, 1500);
        Vector3D v8 = new Vector3D(1500, 1500, 1500);

        /*Vector3D v1 = new Vector3D(300, 400, 400);
        Vector3D v2 = new Vector3D(400, 400, 400);
        Vector3D v3 = new Vector3D(400, 300, 400);
        Vector3D v4 = new Vector3D(300, 300, 400);
        Vector3D v5 = new Vector3D(300, 400, 300);
        Vector3D v6 = new Vector3D(400, 400, 300);
        Vector3D v7 = new Vector3D(400, 300, 300);
        Vector3D v8 = new Vector3D(300, 300, 300);*/

        Box b = new Box(v1,v2,v3,v4,v5,v6,v7,v8);
        try
        {
            System.out.println("Start Project");
            //b.Move(50, 50, 50);
            //b.Scale(2, 2, 2);
            b = p.Project(b); // Поворачиваем оси координат.
            System.out.println("Start DrawBox");
            DrawBox(b, new BasicStroke(10.0F));//Вывод на экран
        }
        catch (Exception ex)
        {
            ex.printStackTrace();
        }
    }



Автор: goodday1941 13.5.2009, 12:25
в чем собсно проблема то?

повесить на кнопку листенер?

Код

//define myMethodThatMoveMyCube
//define button

button.addActionListener(new ActionListener{
public void actionPerformed(ActionEvent ae){
myMethodThatMoveMyCube();
}
});


Добавлено через 1 минуту и 49 секунд
у вас же уже есть метод который делает мув куба?

Автор: 4epT 13.5.2009, 14:25
да, есть такой метод. Сейчас собственно буду пробовать .... спасибо!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)