WebClub - Всероссийский Клуб Веб-разработчиков
WebClub.RU » Архив » Почему компилятор сообщает, что метод "isCanselled()", принадлежащий javax.swing.ProgressMonitor, не найден?

Почему компилятор сообщает, что метод "isCanselled()", принадлежащий javax.swing.ProgressMonitor, не найден?


Дата публикации: 17-03-2013

В американском английском есть два допустимых варианта произношения: "canceled" и "cancelled". Заметьте, что первый содержит одну "l", а второй - две "ll". Sun использует вариант "canceled" для ProgressMonitor, но во многих второстепенных исходниках из документации написано "cancelled". Еще неприятней то, что в некоторых случаях Sun употребляет также и вариант "cancelled", как например в названии метода "isCancelled()" для PrinterJob.


Почему нажатие на клавишу Enter не активизирует кнопку по умолчанию в диалоговом окне библиотеки Swing?

Раскладка клавиш по умолчанию для текстовых компонентов библиотеки Swing (произошедших от JTextComponent) привязывает Enter (VK_ENTER) к ActionEvent для текстовых полей. Это было сделано в целях сохранения совместимости с работой java.awt.Textfield. Чтобы использовать клавишу Enter для активизации кнопки по умолчанию, удалите привязку первой из предлагаемой раскладки клавиш текстового компонента, как показано ниже:

static {
KeyStroke enter = KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0);
Keymap map =
JTextComponent.getKeymap(JTextComponent.DEFAULT_KEYMAP);
map.removeKeyStrokeBinding(enter);
}
Как создавать непрямоугольные Компоненты?

Взгляните на следующий пример, поставляемый вместе с JDK:
$JAVAHOME\demo\awt-1.1\lightweight\RoundButtons\example.html


Когда же мой любимый браузер будет поддерживать Java 1.1?

В настоящий момент все популярные браузеры имеют поддержку JDK 1.1. Netscape Communicator 4.04 с патчем "J" полностью поддерживает возможности Java 1.1. Он был выпущен в декабре 1997 года, и единственное, что там отсутствует,- поддержка JavaSoft для подписи апплетов (в этом вопросе Netscape пошла своим путем). Смотрите http://developer.netscape.com/support/faqs/champions/java.html#21 Если Вы используете Netscape 4.05, и консоль сообщает что-нибудь отличное от Java 1.1.5, то значит Ваш Netscape не полностью поддерживает 1.1. Здесь находится специальная ознакомительная версия: http://developer.netscape.com/software/jdk/download.html

В 1997 году Netscape ослабила поддержку Java в связи с захватом рынка компанией Microsoft. Microsoft использует IE, как стратегическое средство для внедрения того, что служащие этой компании называют "загрязненная Java" ("polluted Java"). Для обоих браузеров хорошим решением является Java Plug-in.

Браузер фирмы Sun,- HotJava,- полностью поддерживает все возможности JDK 1.1. Людям, вынужденным пользоваться браузером без полной поддержки Java, следует применять Java Plug-In, заменяющий стандартную виртуальную машину Java, которой комплектуется браузер, и позволяющий использовать RMI, компоненты JavaBeans и Основные Классы Java (Java Foundation Classes) в Internet Explorer 3.02, 4.0 и 4.01. Java Plug-In также без проблем работает с браузерами Netscape. Его можно получить по адресу http://java.sun.com/products/.
Заметьте, что надо немного изменить HTML для полной уверенности в том, что работает именно plug-in, а не JVM браузера. Данный продукт производит все изменения автоматически.


Какие подпрограммы апплета вызываются в различных браузерах и plug-in'ах в ответ на возможные действия, управляющие просмотром (назад (back), вперед (forward), загрузить (load) и т.д.)?

Сторонник Java - Dave Postill - провел работу, чтобы получить ответ на этот вопрос.
Жизненный цикл апплета определяется вызовами init(), start(), stop() и destroy(). Будьте осторожны при использовании потоков в апплетах. Во многих образцах кода метод stop() вызывает остановку всех потоков в пределах апплета, а затем устанавливает их в нуль (null).

Такое уничтожение потоков является по меньшей мере опрометчивым. Многие думают, что метод stop() вызывается только, когда пользователь покидает страничку и хочет о ней забыть; но, так как Netscape вызывает stop() даже, когда происходит изменение размера окна, то пользователи утратят состояние апплета, когда будут производить незначительную, по их мнению, настройку.

Смотрите "Совет по Java (Java Tip) 8: Потоки, Netscape и проблема изменения размера (resize) окна - Как работать с изменением размера окна апплетa в Netscape Navigator", JavaWorld http://www.javaworld.com/javatips/jw-javatip8.html. К сожалению решение JavaWorld не решает проблему полностью, поскольку в нем для распознавания изменения размера окна предполагается, что start() будет вызван вскоре после stop(). Однако, если вы минимизируете окно с браузером, то он может послать Апплету stop(), и затем не вызывать start(), пока окно Браузера не будет восстановлено или максимизировано. В таком случае использование решения JavaWorld в Апплете уничтожит его, если минимизированный Браузер не восстановить в исходное состояние до момента истечения времени блокировки уничтожения потоков.
Netscape
[4.04/JDK 1.1.4]
[4.05/JDK 1.1.5] Netscape
with Plug-In
[4.05/ JDK 1.1.5/ Plugin 1.1] Applet-Viewer
[JDK 1.1.5]
[JDK 1.1.6] Internet Explorer
4 SP1
4.72.3110.8
on NT 4.0 SP3 Internet Explorer
with Plug-In
[5.00.0518.10 / Plugin 1.1]
on NT 4.0 SP3
1.Clear browser cache nothing nothing nothing nothing nothing
2.Initial load of .html init()
start() or init()
start()
stop()
start()
[1] init()
start() init()
start() init()
start() init()
start()
3.Back stop() stop()
destroy()
init() [4] stop()
destroy()
init() stop()
destroy()
init()
4.Forward start() stop()
init()
start() start() stop()
init()
start() [4] start() stop()
init()
start() start() stop()
init()
start()
5. reload [NS]
reload [IE] stop()
destroy()
init()
start() stop()
destroy()
init()
start() [4] stop()
destroy()
init()
start() stop()
destroy()
init()
start()
6.Resize stop()
start() [3] [3] [3] [3]
7.Minimize [2] [3] stop() [2] [3]
8.Restore [2] [3] start() [2] [3]
9.Exit stop()
destroy() stop()
destroy() stop()
destroy() stop()
destroy() stop()
destroy()

Notes:
[1] Results not repeatable.
[2] Not tested.
[3] Tested, and found that no logged methods are called.
[4] Test not applicable.

Как сделать интеpактивный I/O с клавиатуpы в Java?

В Java интеpактивный ввод/вывод очень плохо поддеpживается. Пpогpаммисты должны неочевидными способами объединять части библиотеки классов для получения тpебуемой функциональности.


Как сделать ввод/вывод файлов в апплете?

По умолчанию, апплеты могут читать файлы на сеpвеpе, но не могут записывать их и не имеют никакого доступа у улиенту. Это сделано из сообpажений безопасности. Было бы не pазумно, если бы апплет, полученный из неизвестных источников в Internet, смог бы считывать/записывать Ваши файлы. Кстати, одной из пpичин, по котоpой ActiveX меpтв для Internet, является как pаз pазpешение такого вида доступа к файлам.

Есть несколько pазличных путей обхода некотоpых огpаничений.


Как мне воспользоваться вводом/выводом чеpез последовательный поpт на моем компьютеpе?

Java 1.0 и 1.1 не имеют API последовательного поpта. Для этого можно воспользоваться библиотеками, pаспpостpаняемыми на коммеpческой основе. JDK 1.2 пpедоставляет доступ к последовательным и паpаллельным поpтам как pасшиpение (опциональное дополнение) к библиотеке.


Как мне осуществить фоpматиpованный ввод/вывод типа printf и scanf в C/C++?

Пакет java.text, поставляемый с Java 1.1, поддеpживает фоpматиpованный ввод/вывод.

Популярное

Не так давно в сети появился новый сервис, под названием Dead Man Zero. Этот сервис сделал...
Рынок социальных площадок уже давно стал стабильным. Несмотря на то, что время от времени...
Artisteer 4 – единственный в своем роде продукт, позволяющий автоматизировать работу над созданием...
Март 2017 (1)
Февраль 2017 (3)
Январь 2017 (1)
Август 2016 (1)
Май 2016 (2)
Ноябрь 2015 (1)

Карта сайта: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41

Друзья сайта

Хотите продать свой сайт?
- Мы быстро и удобно для Вас сможем его купить:
  • Заявка на продажу сайта
  • Раcсматриваем цены на каждый сайт в индивидуальном порядке.

    Случайная цитата

    Неизвестный автор:

    "ВКонтакте – место для лжи знакомым людям. Твиттер – место для выкладывания правды незнакомцам."

    Опрос

    Какой антивирус Вы используете?

    Kaspersky Antivirus
    NOD32
    Norton Antivirus
    Dr.Web
    Panda
    Аvast!
    ClamWin
    Другой...