Browser em java

3 respostas
M

Alguém poderia me ajudar a terminar esse MiniBrowser em java que encontrei na internet, ele não consegue enviar dados de formulário.
Aqui está o código.

import javax.swing.<em>;

import javax.swing.event.</em>;

import java.awt.<em>;

import java.awt.event.</em>;

import <a href="http://java.io">java.io</a>.<em>;

import javax.swing.text.</em>;

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);
}

}

3 Respostas

Metaleiro

Swing-Tutorial-JEditorPane

Luca

Olá

Para renderizar xhtml se pode usar o Flying Saucer (Open source XHTML renderer. It can render any XHTML + CSS 2.1 document as a Swing component).

Ver https://xhtmlrenderer.dev.java.net/

[]s
Luca

benflodin

se a necessidade for apenas tem um browser feito em Java procura pelo finado HotJava eheheheh! :twisted:

Criado 16 de julho de 2007
Ultima resposta 16 de jul. de 2007
Respostas 3
Participantes 4