Gente quero executar o meu html dentro de uma JFrame …tem como fazer isso !?
Tipo eu quero fazer tipo uma mini pagina web e exibila dentro de uma JFrame …
Agradeço a quem ajudar
Gente quero executar o meu html dentro de uma JFrame …tem como fazer isso !?
Tipo eu quero fazer tipo uma mini pagina web e exibila dentro de uma JFrame …
Agradeço a quem ajudar
vc quer fazer um html… nao entendi direito vamos ver se entendi.
vc quer abrir uma pagina… ou so tipo mostrar um texto que vc fez no padrao html??
Mostrar um texto no padrao html
Use um JEditorPane.
JEditorPane pane = new JEditorPane();
pane.setContentType("text/html");
pane.setPage("http://www.portaljava.com.br");
Você tambem tem a opção de adicionar o codigo html diretamente, inves de uma URL:
String html = "<html>";
html += "<body>";
html += "<h1>Teste</h1>";
html += </body>";
html += "</html>";
pane.setText(html);
Ou ainda de um arquivo, usando o metodo read(), setDocument(), etc...
Dá uma olhada na documentação da API pra ter mais detalhes:
http://java.sun.com/javase/6/docs/api/javax/swing/JEditorPane.html
Não aplica a css pq no JEditorPane ?
O problema deve ser com o link do css, o css está em um arquivo externo (.css) ?
Se sim, tem algumas considerações a serem feitas.
O .css esta em arquivo extermo …quais sao essas considerações !?
Agradeço desde já se vc me ajudar .
Nesse caso você tem que colocar a tag <base> no HTML, ou usar o metodo setBase() da classe HTMLDocument.
JEditorPane pane = new JEditorPane();
pane.setContentType("text/html");
URL base = new URL("file:///C:/projeto/web/");
((HTMLDocument) pane.getDocument()).setBase(base);
pane.setText("seu html");
Como eu disse, tambem pode ser colocado usando a tag <base> no html:
Qual a funcionalidade dessa tag base !?
Voce tem um exemplo !? :?: :?:
Desculpa por tanta ignorancia …
Ela especifica de onde serão carregados os arquivos que usam uma URL relativa, a URL no caso é relativa a essa “base”…
No link que te passei tem uma explicação melhor e um exemplo.
Ahhh, se você colocar a URL completa do css não precisa disso, só não é muito bom ter que colocar o caminho completo de todos os arquivos, css, imagens, etc…
Meu código não ta dificil de entender não......
public class JanelaMensagem extends JFrame {
private JEditorPane editorMensagem ;
protected JLabel tempo ;
private Container c = getContentPane();
private URL url ;
public JanelaMensagem() throws IOException {
setTitle(" Mensagem do Dia ");
c.setLayout(null);
Border etched = BorderFactory.createEtchedBorder(Color.blue, Color.black);
Border border = BorderFactory.createTitledBorder(etched,"");
tempo = new JLabel("Tempo Estimado : 02:00");
tempo.setForeground( new Color(0,73,147));
tempo.setFont( new Font(Font.SANS_SERIF , Font.ITALIC , 15) );
tempo.setBounds(70, -90 , 400, 400);
editorMensagem = new JTextPane();
editorMensagem.setEditable(false);
editorMensagem.setContentType("text/html");
url = new URL("file:/C:/eclipse/workspace/Mensagem/bin/arquivo/mensagem.html");
((HTMLDocument) editorMensagem.getDocument()).setBase(url);
//editorMensagem.setPage(url);
editorMensagem.setText(FormataHtml.getHtml().toString());
editorMensagem.setBounds(5, 5, 735, 550);
c.add(tempo);
c.add(editorMensagem);
setAlwaysOnTop(true);
setResizable(false);
setUndecorated(true);
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
setSize(745,560);
setLocationRelativeTo(null);
setVisible(true);
}
}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" <"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
<link href="mensg.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div align="center">
<img src="top_mens.jpg"/>
</div>
<div align="center">
<textarea rows="10" cols="30" class="area"></textarea>
</div>
</body>
</html>
body {
font-family: Verdana, Helvetica , Arial, sans-serif;
font-size: 17px;
font-style: italic;
color: black;
}
.area {
border-width: 3px;
border-style: solid;
border-color: blue;
font-family: Verdana, Helvetica , Arial, sans-serif;
font-size: 17px;
font-style: italic;
color: green;
}
Só que mesmo eu setando o local da css nao ta cetando a css pro <textarea> !???? :sad:
Fiz de acordo com o que vc falou
Tenta alterar essa URL:
url = new URL("file:///C:/eclipse/workspace/Mensagem/bin/arquivo/");
E o arquivo mensg.css tem que estar nesse diretorio aí.
O Arquivo esta nesse local sim 
Funcionou com a URL que vc mandou mas nao setou a css no <textarea> :sad:
Nesse caso, acho que é porque a interpretação de CSS dele não é muito eficiente mesmo.
EU entrei em alguns sites e vi que o JEditoPane nao suporta css …vc pode me dar alguma idéia agora ?
Sim, ele suporta css, mas nada nele é muito sofisticado, por isso, não tente conseguir a mesma exibição de um browser que não vai funcionar.
O que você pode fazer é tentar encontrar algum outro componente de terceiros que consiga fazer isso, já vi algumas vezes uns componentes que conseguem usar o engine do IE ou Firefox dentro de um componente swing, mas não sei mais o nome deles, tente dar uma procurada aí…
Valeu pela ajufa Jairelton . Deus abençoe !!!