Boa tarde amigos da comunindade GUJ, queria saber se consigo abrir o browser do sistema operacional pelo java tenho uma aplicação em java quer precisa mostrar relatorios q estão no tomcat, eu uso uma aplicação em vb, para isso… mas queria fazer direto pelo java…
Usa a classe Runtime. Essa classe consegue chamar programas externos à sua aplciação Java.
Abraço!
silva.fernandes
Segue um exemplo para execução de aplicativos Windows com Java, nele inclui a abertura do I.E.
importjava.awt.*;importjava.awt.event.*;importjava.io.*;importjavax.swing.*;importjavax.swing.event.*;publicclassExecutandoQualquerAplicativoextendsJFrameimplementsActionListener{privateJButtonword,ie,calc;publicExecutandoQualquerAplicativo(){setUndecorated(true);getRootPane().setWindowDecorationStyle(JRootPane.FRAME);setTitle("[...]chamar alguma aplicação no windows. tipo: Word, I.E, Calculadora.- "+"ESPECIAL PARA[luckweb]");setBounds(120,350,800,80);setLayout(newFlowLayout());word=newJButton("Executar o MS Word");word.addActionListener(this);ie=newJButton("Executar o MS Internet Explorer");ie.addActionListener(this);calc=newJButton("Executar a Calculadora");calc.addActionListener(this);getContentPane().add(word);getContentPane().add(ie);getContentPane().add(calc);setResizable(false);setVisible(true);}publicvoidactionPerformed(ActionEvente){if(e.getSource()==word){try{Runtime.getRuntime().exec("cmd.exe /C start WINWORD.exe");}catch(IOExceptionioex){ioex.printStackTrace();}catch(Exceptionex){ex.printStackTrace();}}elseif(e.getSource()==ie){try{Runtime.getRuntime().exec("cmd.exe /C start iexplore.exe");}catch(IOExceptionioex){ioex.printStackTrace();}catch(Exceptionex){ex.printStackTrace();}}elseif(e.getSource()==calc){try{Runtime.getRuntime().exec("cmd.exe /C start calc.exe");}catch(IOExceptionioex){ioex.printStackTrace();}catch(Exceptionex){ex.printStackTrace();}}elseSystem.out.println("Que Louco! O evento não tem origem, mas existe!");}publicstaticvoidmain(Stringargs[]){newExecutandoQualquerAplicativo().show();}}
A vantagem é que ela já tem implementada algumas coisas para tentar ser “multiplataforma”.
Pelo que eu me lembre, funcionou ok tanto no Windows como no Linux.