Я начал использовать jMonekyEngine, и это простой способ взаимодействия с графическим интерфейсом Swing. Следуя их учебнику здесь http://jmonkeyengine.org/wiki/doku.php/jme3:advanced:swing_canvasстатическая переменная не изменяется
Все работает, и я все загрузил, однако у меня проблемы с изменением.
Согласно их учебник, постоянное обновление и здесь происходит:
public void simpleUpdate(float tpf) {
geom.rotate(0, 2 * tpf, 0);
}
(это пример из учебника вращающихся объектов). то, что я пытаюсь сделать, это просто увеличить и уменьшить скорость вращения (изменив значение 2 или tpf с переменной, которая обновляется внутри ActionListener в Swing gui.
Однако, поскольку в своем учебном пособии они заявили что качели графический интерфейс должен быть создан внутри основного метода, я должен создать переменную, которая является статическим, чтобы изменить его.
static float rotate = 0.0f;
он модифицируется внутри основного метода, но при попытке использовать его как так:
public void simpleUpdate(float tpf) {
geom.rotate(0, rotate * tpf, 0);
}
остается неизменным до начального значения. Я попытался создать класс GUI для создания gui (расширяет JPanel) и использовать геттеры и сеттеры, но все равно не поеду. Любая помощь будет оценена! Спасибо!
EDIT: Вот как изменить значение поворота:
JButton faster = new JButton("Faster");
faster.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
rotate +=0.1f;
}
});
внутри основного метода. rotate - статическое поле.
Я не вижу, где вы назначаете новое значение ... Необходимо иметь 'rotate = (something)', чтобы фактически изменить значение – Jared
Конечно, это происходит внутри кнопки addActionListener внутри gui. отредактировал мой вопрос, чтобы показать это –
Я бы опубликовал этот код. – Jared