Интерфейс IIOParamController
public interface IIOParamController
Интерфейс, который должны реализовывать объекты, способные определять параметры объекта IIOParam, либо создавая графический интерфейс для получения значений от пользователя, либо другими средствами. Данный интерфейс просто определяет общий метод activate, который вызывает контроллер, не обращая внимания на то, как контроллер получает значения (т.е., не имеет значения, создаёт ли контроллер графический интерфейс или просто вычисляет набор значений).
В рамках метода activate, контроллер получает начальные значения, запрашивая их у методов объекта IIOParam объекта get, изменяет значения любым способом, затем вызывает методы объекта IIOParam для изменения соответствующих параметров. Как правило, эти методы set вызываются все сразу при окончательном подтверждении, чтобы операция отмены не нарушила существующие значения. В общем случае, приложения могут ожидать, что при возвращении метода activate со значением true, объект IIOParam готов к использованию в операции чтения или записи.
Поставщики могут выбрать предоставление графических интерфейсов для подклассов IIOParam, которые они определяют для конкретного плагина. Они могут быть настроены как контроллеры по умолчанию в соответствующих подклассах IIOParam.
Приложения могут переопределить любые графические интерфейсы по умолчанию и предоставить свои собственные контроллеры, встроенные в свою собственную среду. Всё, что требуется, это то, что метод activate ведет себя модально (не возвращаясь, пока не будет отменён или подтверждён), хотя он не обязан отображать явно модальное диалоговое окно. Такой немодальный компонент графического интерфейса был бы закодирован примерно следующим образом:
class MyGUI extends SomeComponent implements IIOParamController {
public MyGUI() {
// ...
setEnabled(false);
}
public boolean activate(IIOParam param) {
// disable other components if desired
setEnabled(true);
// go to sleep until either cancelled or committed
boolean ret = false;
if (!cancelled) {
// set values on param
ret = true;
}
setEnabled(false);
// enable any components disabled above
return ret;
} В качестве альтернативы, можно использовать алгоритмический процесс, такой как поиск в базе данных или разбор командной строки, в качестве контроллера, в этом случае метод activate просто выполнит поиск или вычисление параметров, вызовет методы IIOParam.setXXX и вернёт значение true.
- См. также:
-
IIOParam.setController(javax.imageio.IIOParamController),IIOParam.getController(),IIOParam.getDefaultController(),IIOParam.hasController(),IIOParam.activateController()
Методы
| Модификатор и тип | Метод и описание |
|---|---|
boolean |
activate(IIOParam param) Активирует контроллер. |
Методы
activate
boolean activate(IIOParam param)
Активирует контроллер. Если возвращается true, все параметры в объекте IIOParam должны быть готовы к использованию в операции чтения или записи. Если возвращается false, никакие параметры в объекте IIOParam не будут изменены (т.е., пользователь отменил операцию).
- Параметры:
-
param- объектIIOParamдля изменения. - Возвращает:
-
trueесли объектIIOParamбыл изменён,falseв противном случае. - Исключения:
-
IllegalArgumentException- еслиparamимеет значениеnullили не является экземпляром соответствующего класса.
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.