Skip to content

Commit

Permalink
Update documentation.md
Browse files Browse the repository at this point in the history
  • Loading branch information
AppLoidx authored May 3, 2019
1 parent 0c42ddc commit 24a8bbd
Showing 1 changed file with 6 additions and 6 deletions.
12 changes: 6 additions & 6 deletions documentation.md
Original file line number Diff line number Diff line change
Expand Up @@ -135,15 +135,15 @@ public void init() {

Затем на элементы кнопок типа "submit" мы добавляем ActionListener, чтобы обрабатывать нажатие кнопки.

Здесь можно увидеть бизнес-логику кнопки применить для установки тактовой частоты. Делается это через поле gui, определенное как объект, переданный через конструктор. С помощью него можно получить CPU и установить Runnable объект-функцию для операции после завершения такта.
Здесь можно увидеть бизнес-логику кнопки для установки тактовой частоты. Делается это через поле gui, определенное как объект, переданный через конструктор. С помощью него можно получить CPU и установить Runnable объект-функцию для операции после завершения такта.

## panelActivate и panelDeactivate

Два метода наследованных от ActivateblePanel - это методы вызываемые при отркытии панели и его закрытии.

В оригинальной БЭВМ элементы создается в конструкторе, а не при открытии панели, что оправданно, так как элементы - не сложные и не нагружают приложение даже будучи отрисованными.

Поэтому во всех View - элементыс создаются в его конструкторе. В оригинальном приложении они также используются для передачи фокуса какому-нибудь управляющему элементу, например, клавишный регистр.
Поэтому во всех View - элементы создаются в его конструкторе. В оригинальном приложении они также используются для передачи фокуса какому-нибудь управляющему элементу, например, клавишный регистр.

Листинг метода из AssemblerView:
```java
Expand All @@ -154,11 +154,11 @@ public void panelActivate() {

Но иногда приходилось вставлять туда, относительно, более сложные куски кода.

Наример, при создании CLIView (панель консоли) нужно было всегда проверять наличие ввода на стороне CLI-класса. Отсюда могла возникнуть излишняя нагрузка системы. Поэтому я прибегнул, как мне кажется, не совсем хорошей идее:
Наример, при создании ConsoleView (панель консоли) нужно было всегда проверять наличие ввода на стороне CLI-класса. Отсюда могла возникнуть излишняя нагрузка системы. Поэтому я прибегнул, как мне кажется, не совсем хорошей идее:

* Создается поле типа Thread, который циклически опрашивает наличие на новый ввод (создается в конструкторе)
* Когда панель активируется этот поток запускается
* При завершении прерывается
* При закртытии панели - прерывается
* Когда пользователь опять заходит в этот панель все начинается со второго пункта

```java
Expand Down Expand Up @@ -229,9 +229,9 @@ public void panelActivate() {

### Отрисовка стрелок
Забавной, но критичной проблемой была отрисовка стрелок. Было два вида:
* Когда впервый написал свой метод вызываемый при окончании такта - стрелки перестали отображатся.
* Когда в первый раз написал свой метод вызываемый при окончании такта - стрелки перестали отображатся.
* При изменении настроек цвета, их цвет менялся только при активации

Первая проблема решилась добавление в метод окончания такта функцию отрисовки стрелок (пришлось копаться глубоко внутри исходников)
Первая проблема решилась добавлением в метод окончания такта функцию отрисовки стрелок (пришлось копаться глубоко внутри исходников)

Вторая проблема решилась также повторной отрисовкой стрелок при изменении настроек.

0 comments on commit 24a8bbd

Please sign in to comment.