Galera estou desenvolvendo um programa onde eu abro o navegador em uma determinada pagina mas ele abre por cima do meu programa eu queria que abrisse por tras, alguem sabe se tem como?
Segue o código que abre o navegador:
public void abrirNavegador() {
Desktop d = Desktop.getDesktop();
try {
if (flagNavegador == false) {
d.browse(new URI("http://localhost/projetoWeb"));
flagNavegador = true;
}
} catch (IOException | URISyntaxException e) {
System.out.println(e);
}
}
Você pode chamar o método toFront() do seu JFrame assim que chama a url.
Que na verdade ele apenas vai pegar o foco novamente.
Só que o navegador é aberto em outro jFrame e não no principal. Como eu pego a instância do jFrame principal?
Por exemplo eu faria this.toFront(); mas como está em outra tela tenho que instanciar o jFramePrincipal certo?
Não, você chama no seu método abrirNavegador()
Suponho que seu método abrirNavegador() é do seu JFrame principal, correto ?
Então chamaria this.toFront(); logo após o d.browser(…)
Não, não está no JFrame principal por isso eu falei que nao funciona com o this.toFront()
Então em vez do toFront, chame o toBack do frame onde está o método abrirNavegador
Não funciona, o que acontece é que eu abro o JFramePrincipal dai eu abro um JInternalFrame e dai abro outro JFrame o qual eu abro o navegador, então fica na tela do navegador quando clico no icone da barra de tarefas do windows ali de baixo, fica o JFrame e atras a tela do navegador e atras o JFramePrincipal.
Então você terá que passar a referencia do JFramePrincipal até o JFrame que abre o browser.
Assim você terá a referencia dele e chama o toFront.
Eu criei uma variavel do tipo do meu JFramePrincipal e no metodo abrirNavegador() e fiz objJFramePrincipal.toFront(); mas nao funcionou pois da NullPointerException, então no meu JFramePrincipal eu eu criei outra variavel do tipo do meu JFramePrincipal recebendo this tambem nao funcionou nao sei se era isso que voce falou ara fazer
Mas você foi passando a referencia ?
Por exemplo, no seu JFramePrincipal, quando instancia o internalFrame, você deve passar a referência como “this” seja pelo construtor ou por algum método.
Consegue postar seu código nos métodos de todas as chamadas até o browser (abrirNavegador)?
Não, não passei por todas as telas vou tentar isso, mas eu preciso criar a variavel no JFramePrincipal recebendo this? acho que está errado né?
Cara, fiz ali dessa vez não deu NullPointerException, ou seja, acho que ta certo mas não funcionou, não puxou pra frente a tela principal mas vlw ai.