Cria o meu próprio editor de texto baseado em Java como editor de texto padrão no Windows

3

Eu fiz um editor de texto em Java e quero torná-lo editor de texto padrão. Semelhante ao Windows quando o padrão é o Notepad como editor, e cujo ícone é exibido em todos os arquivos de texto e clicado duas vezes nesses arquivos e abrindo-os no Bloco de Notas.

Eu quero alcançar a mesma tarefa de tornar meu editor de texto o padrão. Clicar com o botão direito em um arquivo de texto e selecionar meu editor de texto como aplicativo padrão para abrir arquivos de texto não resolve o problema, pois meu editor de texto não aceitará a entrada de arquivo dessa maneira. Foi feito para aceitar a entrada do arquivo apenas por FileChooser .

Existe alguma biblioteca em java para conseguir essa tarefa de aceitar a entrada de arquivos dessa maneira?

    
por KronoS 23.06.2012 / 14:26

2 respostas

3

I have Made a Text Editor ... want to make it default text editor..

Implante-o usando Java Web Start e declare interesse nos tipos de arquivo relevantes no lançamento arquivo.

..accept the file input only by FileChooser.

O JWS fornece o nome do arquivo de interesse para o main(String[]) . Podemos criar um File da string e levá-lo de lá. Aqui está uma demo . da API JNLP FileService que declara interesse no formato de arquivo .zzz .

    
por 23.06.2012 / 14:42
3

Se você preferir não usar o Java Web Start como Andrew sugeriu e gostaria de aprender como o Windows lida especificamente com aplicativos padrão, aqui está um guia rápido:

Quando você clicar com o botão direito - > Abrir com ... e definir algo como um aplicativo padrão, um valor de registro será criado em HKEY_CLASSES_ROOT com o nome "somefileextension_auto_file" e uma chave "/ shell / open / command "(assim, HKEY_CLASSES_ROOT\somefileextension_auto_file\shell\Open\command ). O valor da string padrão desta chave é o comando shell a ser executado quando um arquivo de somefileextension type é clicado duas vezes. O valor padrão criado é parecido com "c:\program files\somepath\test.exe" %1 , em que% 1 será uma variável contendo o caminho completo para o arquivo que foi clicado duas vezes.

Se você quisesse programar programaticamente seu arquivo jar como o aplicativo padrão para uma determinada extensão de arquivo, seria necessário criar a chave do registro em HKEY_CLASSES_ROOT\somefileextension_auto_file\shell\Open\command com um valor padrão semelhante ao seguinte:

java -jar c:\somewhere\yourJarFile.jar %1

e seu programa precisaria detectar quando um argumento de linha de comando foi dado a ele usando public static void main(String[] args) onde args[1] seria o caminho para o arquivo que foi clicado. Se um argumento de linha de comando foi dado, seu programa deve automaticamente tentar usá-lo como um arquivo de entrada.

Nota: Isso realmente não deve ser feito manualmente, pois o Java foi projetado para ser multi-plataforma e, como tal, existem soluções de plataforma cruzada ( link ), mas parece que o autor da pergunta estava interessado em como o Windows realmente lida com aplicativos padrão. Talvez eu ajude outro leitor. Quem sabe.

    
por 23.06.2012 / 15:05