Criar links

2 respostas
F

Galera, estou precisando que minha aplicação gere uma página com links, mas esse links não vai abrir direto as paginas HTML, antes elas precisam ser processadas, ou seja por trás dos links é preciso ter métodos que processem as páginas html antes de abri-lás!
Tentei usar o JEditorPane, porém consigo criar os links, mas nesse momento da criação não tenho a página html processada!
Alguém tem alguma ideia?

Desde já agradeço!!
Obrigado!

2 Respostas

F

Bom galera, eu consegui resolver com o próprio JEditoPane, simplesmente eu crio um página Html com os links recebendo os valores do link através de um array mando exibir através do método setPage(HtmlCode) passado uma string com a página completa dos links, só que nos links tem id e não endereços!
Depois é só criar uma classe que implementa HiperLinkEvent que são os ouvintes dos links e ficou assim:

class Hyperactive implements HyperlinkListener {

public String htmlClinicalCase;

public void hyperlinkUpdate(HyperlinkEvent e) {

if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) {

JEditorPane pane = (JEditorPane) e.getSource();

if (e instanceof HTMLFrameHyperlinkEvent) {

HTMLFrameHyperlinkEvent evt = (HTMLFrameHyperlinkEvent) e;

HTMLDocument doc = (HTMLDocument) pane.getDocument();

doc.processHTMLFrameHyperlinkEvent(evt);

} else {

try {

int idLink = Integer.parseInt(e.getURL().getFile().substring(e.getURL().getFile().lastIndexOf(/)+1)); //recupero o id direto do link

setXml(idLink); // busco no xml a página que quero exibir, transformo em html o conteudo desejado e exibo novamente.

pane.setText(html);

}
} catch (Throwable t) {
				t.printStackTrace();
			}
		}
	}
}
F

Bom galera, eu consegui resolver com o próprio JEditorPane, simplesmente eu crio um página Html com os links recebendo os valores do link através de um array mando exibir através do método setPage(HtmlCode) passado uma string com a página html completa dos links, só que nos links tem id e não endereços!
Depois é só criar uma classe que implementa HiperLinkEvent que são os ouvintes dos links e ficou assim:

class Hyperactive implements HyperlinkListener {

public String htmlClinicalCase;

public void hyperlinkUpdate(HyperlinkEvent e) {

if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) {

JEditorPane pane = (JEditorPane) e.getSource();

if (e instanceof HTMLFrameHyperlinkEvent) {

HTMLFrameHyperlinkEvent evt = (HTMLFrameHyperlinkEvent) e;

HTMLDocument doc = (HTMLDocument) pane.getDocument();

doc.processHTMLFrameHyperlinkEvent(evt);

} else {

try {

int idLink = Integer.parseInt(e.getURL().getFile().substring(e.getURL().getFile().lastIndexOf(/)+1)); //recupero o id direto do link

setXml(idLink); // busco no xml a página que quero exibir, transformo em html o conteudo desejado e exibo novamente.

pane.setText(html);

}
} catch (Throwable t) {
				t.printStackTrace();
			}
		}
	}
}
Criado 17 de março de 2008
Ultima resposta 21 de mar. de 2008
Respostas 2
Participantes 1