alguém aí já teve um problema assim: tenho um applet e em determinado momento eu instancio um objeto da classe JFileChooser, exibo ele para receber os dados para gravar um arquivo.
Estou testando esse applet mas tem máquinas que ele não exibe objeto e não consigo salvar o arquivo.
Poste mais informações sobre seu problema, se possível o trecho de código em que o JFileChooser é instanciado/exibido. Ocorre alguma mensagem de erro? Alguma exceção?
As máquinas têm o mesmo sistema operacional? A mesma versão da JVM? O mesmo browser?
estou testando o applet no windows xp com o firefox e o internet explorer.
tem máquina com a mesma configuração dessas que estão dando erro.
a exceção lançada é:
Exception in thread “AWT-EventQueue-2” java.security.AccessControlException: access denied (java.util.PropertyPermission user.dir read)
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPropertyAccess(Unknown Source)
at java.lang.System.getProperty(Unknown Source)
at java.io.Win32FileSystem.getUserPath(Unknown Source)
at java.io.Win32FileSystem.resolve(Unknown Source)
at java.io.File.getAbsolutePath(Unknown Source)
at sun.awt.shell.Win32ShellFolder2.(Unknown Source)
at sun.awt.shell.Win32ShellFolder2.listFiles(Unknown Source)
at sun.awt.shell.ShellFolder.listFiles(Unknown Source)
at sun.awt.shell.Win32ShellFolderManager2.get(Unknown Source)
at sun.awt.shell.ShellFolder.get(Unknown Source)
…
qual a solução mais elegante para tratar isso? Parece problema de permissão para ler os diretórios do windows…
obrigada.
davidtiagoconceicao
Sim, esta exceção é lançada porque o JFileChooser não consegue acesso aos diretórios:
Acho que você não pode acessar os arquivos no cliente à partir de um JFileChooser.
Não tenho como pesquisar agora, sugiro que você faça uma pesquisa mais detalhada aqui no GUJ e no Google por AccessControlException…
T
thingol
a) Applets só podem acessar arquivos se forem digitalmente assinadas
b) No Windows Vista, applets não podem acessar arquivos, mesmo se forem digitalmente assinadas, se você estiver usando o Sun Java Plugin com versão inferior a 6.0 Update 10.
davidtiagoconceicao
thingol:
a) Applets só podem acessar arquivos se forem digitalmente assinadas
b) No Windows Vista, applets não podem acessar arquivos, mesmo se forem digitalmente assinadas, se você estiver usando o Sun Java Plugin com versão inferior a 6.0 Update 10.
Beleza, era o que eu imaginava.
B
brunasud
thingol:
a) Applets só podem acessar arquivos se forem digitalmente assinadas
b) No Windows Vista, applets não podem acessar arquivos, mesmo se forem digitalmente assinadas, se você estiver usando o Sun Java Plugin com versão inferior a 6.0 Update 10.
Olá thingol,
não entendo porque o meu applet funciona em uma máquina e em outra não. O que estou tentando fazer é gravar um arquivo e nas outras máquinas, no windows xp, está funcionando normalmente.
Esse problema está ocorrendo em duas máquinas com o windows xp. Tenho um problema parecido em uma máquina com o vista, ele mostra o JFileChooser, consegue acessar os diretórios mas não consegue escrever, não consigo gravar o arquivo.
Gostaria de saber se existe uma forma de eu resolver essa situação dentro do código ou se será necessário mudar alguma configuração no windows.
Obrigada!
B
brunasud
Olá davidtiagoconceicao,
existe outra forma de eu acessar os arquivos?
Obrigada!
T
thingol
Isso costuma ser permissão de arquivos, e é coisa do Windows.
Não se esqueça de verificar a versão do Sun PlugIn (veja o Java Console para obter essa informação).