неопределенная ссылка на WinMain@16
или аналогичную «необычную» main()
ссылку на точку входа (особенно для visual-studio ).
Вы возможно, пропустили, чтобы выбрать правильный тип проекта с вашей реальной IDE. IDE может захотеть связать, например. Проекты приложений Windows для такой функции точки входа (как указано в недостающей ссылке выше) вместо обычной int main(int argc, char** argv);
.
Если ваша среда IDE поддерживает Plain Console Projects , вы может захотеть выбрать этот тип проекта вместо проекта приложения Windows.
Здесь case1 и case2 обрабатываются более подробно из реальный мир проблема.
Для сильной связи симуляция javax.swing.Timer
является хорошим выбором. Пусть слушатель таймера вызывает вашу реализацию paintComponent()
, как показано здесь здесь , и в примере, приведенном здесь здесь .
Для слабосвязанного моделирования let модель эволюционирует в фоновом потоке SwingWorker
, как показано здесь здесь . Вызовите publish()
по сравнению с вашим симуляцией.
Выбор продиктован, в частности, характером моделирования и рабочего цикла модели.
Почему бы просто не использовать материал из стенда? Он уже делает все. Просто возьмите JPanel, контроллер и отлаживайте ничью. Он использует 2D-чертеж Java.
См. Здесь для JPanel, который выполняет буферизованный рендеринг: https://github.com/dmurph/jbox2d/blob/master/jbox2d-testbed/src/main /java/org/jbox2d/testbed/framework/j2d/TestPanelJ2D.java
и здесь для отладки: https://github.com/dmurph/jbox2d/blob /master/jbox2d-testbed/src/main/java/org/jbox2d/testbed/framework/j2d/DebugDrawJ2D.java
См. файл TestbedMain.java, чтобы узнать, как обычный тестовый стенд (g8) Edits: Disclaimer: Я поддерживаю jbox2d
Вот пакет для рамки testbed: https: // github.com/dmurph/jbox2d/tree/master/jbox2d-testbed/src/main/java/org/jbox2d/testbed/framework
TestbedMain.java находится в папке j2d, здесь : https://github.com/dmurph/jbox2d/tree/master/jbox2d-testbed/src/main/java/org/jbox2d/testbed/framework/j2d