В .net платформе существует mediaplayer класс:
http://msdn.microsoft.com/en-us/library/system.windows.media.mediaplayer_members.aspx
Вот пример:
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2667714&SiteID=1&pageid=0#2685871
Google научил меня, что по крайней мере те являются потокобезопасными. Вот краткий обзор того случая, когда ссылка снова разорвалась:
JTextPane
replaceSelection ()
insertComponent ()
insertIcon ()
setLogicalStyle ()
setCharacterAttributes ()
setParagraphAttributes ()
JTextArea
insert ()
append ()
replaceRange ()
JTextComponent
replaceSelection ()
setText ()
print ()
getPrintable ()
UndoManager
DefaultStyledDocument
insert ()
setLogicalStyle ()
setCharacterAttributes ()
setParagraphAttributes ()
StyleContext
addAttribute ()
addAttributes () [1289)] removeAttribute
removeAttributes ()
reclaim ()
AbstractDocument
render ()
remove ()
insertString ()
createPosition ()
PlainDocument
insertString ()
HTMLDocument
setParagraphAttributes ()
Но что это за методы компонентов Swing, которые помечены как «потокобезопасные»?
Большинство методов компонентов Swing НЕ являются потокобезопасными. Но некоторые есть. Чтобы узнать, какие из них, у вас нет другого выбора, кроме как просмотреть javadocs для ваших целевых компонентов. Тщательно продуманный поиск в Google может ускорить процесс.
Есть ли вообще какие-нибудь?
Да, действительно есть. Вообще говоря, если вы работаете с компонентами Swing, вполне вероятно, что вам придется вызывать как потокобезопасные, так и небезопасные методы. Поскольку большинство методов не являются потокобезопасными, я предпочитаю проявлять осторожность и в любом случае выполнять все действия с ними в потоковом режиме.
HTH
Не исчерпывающий список.
DefaultStyledDocument:
Но у вас уже есть ответ: только те методы , которые специально задокументированы как поточно-ориентированные в методе JavaDoc ], являются потокобезопасными! это из JTextComponent.setText
* Этот метод потокобезопасен, хотя большинство методов Swing * не. Посмотри пожалуйста * Как * to Use Threads для получения дополнительной информации.
Если в документации метода не указано, что это безопасно, значит, это небезопасно: поэтому доступ к JavaDoc имеет решающее значение при кодировании с использованием Swing