Вы можете сделать это, используя objcopy
:
objcopy --input binary --output elf64-x86-64 myfile.txt myfile.o
Теперь у вас есть объектный файл, который вы можете связать с вашим исполняемым файлом, который содержит символы для начала, конца и размера содержимого из myfile.txt
.
Взглянув на API , это исключение вызывается, если компонент не отображается. В этом случае это Canvas.peer
равно null
. Взгляд на поле peer
показывает, что
Параметр устанавливается, когда
blockquote>Component
добавляется в контейнер, который также является равноправным узлом] Поскольку вы запускаете поток обновлений из конструктора вашего компонента,
render
можно вызвать до того, как ваш компонент будет добавлен в другой контейнер, что означает, чтоpeer
-null
, а затем будет выбраноIllegalStateException
.
По моему опыту с этой ошибкой и с кодом, который вы пишете, вам не хватает функции фрейма.
Добавьте, где ваши кадры (например: frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
) и добавьте функцию frame.add(game);
В этом примере моя Display game = new Display();
, но в зависимости от того, какая ваша переменная для новый дисплей, он может отличаться.
render
после того, как i>Base
был добавлен в контейнер. В коде, который вы нам показали,Base
никогда не добавляется в контейнер. – Jeffrey 2 June 2012 в 23:32Base
, и оно добавляется кScreen
, поток обновлений, который вы начали, возможно, уже вызвалrender
. Вам нужно либо вызватьstart
отдельно от конструктораBase
, либо добавитьBase
вJFrame
в конструктореBase
перед вызовомstart
. – Jeffrey 2 June 2012 в 23:40