Fala galera,
Tenho o seguinte codigo para visualizar páginas HTML através de JEditorPane:
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class HTMLVisualizador extends JFrame implements HyperlinkListener, ActionListener, KeyListener {
JEditorPane editorPane = new JEditorPane();
JScrollPane scrollPane = new JScrollPane(editorPane);
JToolBar toolBar = new JToolBar();
JLabel jLabel = new JLabel("Endereço:");
JTextField textField = new JTextField(60);
JButton jButton = new JButton("Ir");
public HTMLVisualizador(){
super(":::: HTMLVisualizador ::::");
setLayout(new BorderLayout());
//
editorPane.setContentType("text/html");
editorPane.setEditable(false);
editorPane.addHyperlinkListener(this);
//
jButton.addActionListener(this);
//
textField.addKeyListener(this);
textField.setText("http://");
textField.setCaretPosition(textField.getText().length());
textField.setFont(new Font("Arial", Font.BOLD, 12));
//
toolBar.add(jLabel);
toolBar.add(textField);
toolBar.add(jButton);
//
add(toolBar, BorderLayout.NORTH);
add(scrollPane, BorderLayout.CENTER);
}
public void hyperlinkUpdate(HyperlinkEvent e) {
if(e.getEventType().equals(HyperlinkEvent.EventType.ACTIVATED)){
textField.setText(e.getURL().toExternalForm());
setPage(e.getURL().toExternalForm());
}
}
public void actionPerformed(ActionEvent e) {
if(e.getSource().equals(jButton)){
if(textField.getText().equals("http://") || textField.getText().length() < 1){
JOptionPane.showMessageDialog(null, "Digite um endereço válido!", "HTMLVisualizador", JOptionPane.ERROR_MESSAGE);
}
else if(textField.getText().startsWith("http://")){
setPage(textField.getText());
}
else {
setPage("http://"+textField.getText());
}
}
}
public void setPage(String url){
try {
editorPane.setPage(url);
} catch (IOException ioe) {
ioe.printStackTrace();
}
}
public void keyPressed(KeyEvent e) {
if(e.getKeyCode() == KeyEvent.VK_ENTER){
if(textField.getText().equals("http://")){
JOptionPane.showMessageDialog(null, "Digite um endereço válido!", "HTMLVisualizador", JOptionPane.ERROR_MESSAGE);
}
else if(textField.getText().startsWith("http://")){
setPage(textField.getText());
}
else {
setPage("http://"+textField.getText());
}
}
}
public void keyReleased(KeyEvent e) {}
public void keyTyped(KeyEvent e) {}
public static void main(String[] args) {
HTMLVisualizador visualizador = new HTMLVisualizador();
visualizador.setDefaultCloseOperation(EXIT_ON_CLOSE);
visualizador.setSize(800, 600);
visualizador.setVisible(true);
}
}
Consigo visualizar as paginas, mas ele fica mostrando parte dos codigos CSS da página e alguns formulários não funcionam.
Se alguém puder me ajudar, agradeço.