Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Matrirxp

Navegador em java

Recommended Posts

Ola vocês podem me ajudar quero fazer um navegador em java

 

 

ja tentei de varias formas mais nunca consigo

Compartilhar este post


Link para o post
Compartilhar em outros sites



import java.awt.*;

import java.awt.event.*;

import java.net.*;

import java.util.*;

import javax.swing.*;

import javax.swing.event.*;

import javax.swing.text.html.*;

 

 

// Web browser

public class MiniBrowser extends JFrame

 

implements HyperlinkListener {

// Estes são os botões para iteração com a lista de páginhas

 

 

private JButton backButton, forwardButton;

 

// Campo para digitar o endereço.

private JTextField locationTextField;

 

// Editor pane for displaying pages.

private JEditorPane displayEditorPane;

 

// Lista de páginas ja visitadas pelo browser.

private ArrayList pageList = new ArrayList();

 

// Construtor do Mini Web Browser.

public MiniBrowser() {

// Configura título da aplicação.

super("Mini Browser");

 

// Configura tamanho da janela.

setSize(640, 480);

 

// Manipulador de eventos.

addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e) {

actionExit();

}

});

 

// Configura o menu file.

JMenuBar menuBar = new JMenuBar();

JMenu fileMenu = new JMenu("File");

fileMenu.setMnemonic(KeyEvent.VK_F);

JMenuItem fileExitMenuItem = new JMenuItem("Exit",

KeyEvent.VK_X);

fileExitMenuItem.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

actionExit();

}

});

fileMenu.add(fileExitMenuItem);

menuBar.add(fileMenu);

setJMenuBar(menuBar);

 

// Configura os botões do painel.

JPanel buttonPanel = new JPanel();

backButton = new JButton("< Back");

backButton.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

actionBack();

}

});

backButton.setEnabled(false);

buttonPanel.add(backButton);

forwardButton = new JButton("Forward >");

forwardButton.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

actionForward();

}

});

forwardButton.setEnabled(false);

buttonPanel.add(forwardButton);

locationTextField = new JTextField(35);

locationTextField.addKeyListener(new KeyAdapter() {

public void keyReleased(KeyEvent e) {

if (e.getKeyCode() == KeyEvent.VK_ENTER) {

actionGo();

}

}

});

buttonPanel.add(locationTextField);

JButton goButton = new JButton("GO");

goButton.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

actionGo();

}

});

buttonPanel.add(goButton);

 

// Configura o espaço da página.

displayEditorPane = new JEditorPane();

displayEditorPane.setContentType("text/html");

displayEditorPane.setEditable(false);

displayEditorPane.addHyperlinkListener(this);

 

getContentPane().setLayout(new BorderLayout());

getContentPane().add(buttonPanel, BorderLayout.NORTH);

getContentPane().add(new JScrollPane(displayEditorPane),

BorderLayout.CENTER);

}

 

// Saída do programa.

private void actionExit() {

System.exit(0);

}

 

// Este método permite a volta para a última página visitada.

private void actionBack() {

URL currentUrl = displayEditorPane.getPage();

int pageIndex = pageList.indexOf(currentUrl.toString());

try {

showPage(

new URL((String) pageList.get(pageIndex - 1)), false);

} catch (Exception e) {}

}

 

// Método que permite voltar para a página atual.

 

 

private void actionForward() {

URL currentUrl = displayEditorPane.getPage();

int pageIndex = pageList.indexOf(currentUrl.toString());

try {

showPage(

new URL((String) pageList.get(pageIndex + 1)), false);

} catch (Exception e) {}

}

 

// Carrrega e apresenta a página especificada no campo de texto.

private void actionGo() {

URL verifiedUrl = verifyUrl(locationTextField.getText());

if (verifiedUrl != null) {

showPage(verifiedUrl, true);

} else {

showError("Invalid URL");

}

}

 

// Apresenta mensagem de erro em uma caixa de diálogo.

private void showError(String errorMessage) {

JOptionPane.showMessageDialog(this, errorMessage,

"Error", JOptionPane.ERROR_MESSAGE);

}

 

// Verifica o formato da URL.

private URL verifyUrl(String url) {

// Só permite URLs HTTP.

if (!url.toLowerCase().startsWith("http://"))

return null;

 

// Verifica o formato da URL.

URL verifiedUrl = null;

try {

verifiedUrl = new URL(url);

} catch (Exception e) {

return null;

}

 

return verifiedUrl;

}

 

/* Mostra página solicitada e adiciona ela à lista de páginas visitadas. */

private void showPage(URL pageUrl, boolean addToList) {

 

 

// Modifica o cursor do mouse.

 

 

setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));

 

try {

// Obtém URL da página mostrada atualmente.

URL currentUrl = displayEditorPane.getPage();

 

// Carrega e exibe página desejada.

displayEditorPane.setPage(pageUrl);

 

// Obtém URL da nova página sendo exibida.

URL newUrl = displayEditorPane.getPage();

 

// Adiciona página à lista de páginhas visitadas.

if (addToList) {

int listSize = pageList.size();

if (listSize > 0) {

int pageIndex =

pageList.indexOf(currentUrl.toString());

if (pageIndex < listSize - 1) {

for (int i = listSize - 1; i > pageIndex; i--) {

pageList.remove(i);

}

}

}

pageList.add(newUrl.toString());

}

 

// Atualiza o campo de entrada da URL com a página atual.

locationTextField.setText(newUrl.toString());

 

// Atualiza os botões.

updateButtons();

} catch (Exception e) {

// Apresenta mensagem de erro.

showError("Unable to load page");

} finally {

// Retorna para o cursor padrão.

setCursor(Cursor.getDefaultCursor());

}

}

 

/* Atualiza os botões back e forward baseado na página que está sendo apresentada exibida. */

private void updateButtons() {

if (pageList.size() < 2) {

backButton.setEnabled(false);

forwardButton.setEnabled(false);

} else {

URL currentUrl = displayEditorPane.getPage();

int pageIndex = pageList.indexOf(currentUrl.toString());

backButton.setEnabled(pageIndex > 0);

forwardButton.setEnabled(

pageIndex < (pageList.size() - 1));

}

}

 

// Manipulador de hyperlink's clicados.

public void hyperlinkUpdate(HyperlinkEvent event) {

HyperlinkEvent.EventType eventType = event.getEventType();

if (eventType == HyperlinkEvent.EventType.ACTIVATED) {

if (event instanceof HTMLFrameHyperlinkEvent) {

HTMLFrameHyperlinkEvent linkEvent =

(HTMLFrameHyperlinkEvent) event;

HTMLDocument document =

(HTMLDocument) displayEditorPane.getDocument();

document.processHTMLFrameHyperlinkEvent(linkEvent);

} else {

showPage(event.getURL(), true);

}

}

}

 

// Executa o Mini Browser.

public static void main(String[] args) {

MiniBrowser browser = new MiniBrowser();

browser.show();

}

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, nada contra copiar código p/ entender como as coisas interagem, mas considerando o seguinte:

 

- Teu perfil diz que você tem 12 anos (isso se não é dado falso, já que não há polícia na internet verificando RG);

- O código é igual ao encontrado no GUJ (http://www.guj.com.br/java/225024-mini-browser-em-java-ajuda-com-permicao-para-applets) e no JavaFree (http://javafree.uol.com.br/topic-864180-Browser.html);

- A sua resposta a um dos problemas citados neste tópico linkado está incorreta;

- Você posta código Java num fórum de C/C++;

- O código de AI parece ser um script copiado completamente de algum tutorial do Unity e você não descreve o problema que acontece (simplesmente diz que dá erro).

 

Dá a impressão de que você é novato em programação. Se for o caso, eu sugiro que avalie a diferença entre essas duas situações:

 

1- Copiar e colar códigos alheios e não ter condições de consertar ou modificar devido à falta de conhecimento (tanto na linguagem quanto teórico);

2- Criar o próprio código de forma livre

 

Se você pretende seguir a #2, pare agora o que você está fazendo e faça o seguinte:

 

1- Leia livros sobre a linguagem que você quer aprender. É Java? Tem o Core Java (2 volumes, mas leia o 1o), o Big Java (Cay Horstmann), Absolute Java (Walter Savitch), Effective Java (Joshua Bloch), o Head First Java (Kathy Sierra) e mais alguns que eu não consigo lembrar.

2- Faça os exercícios básicos. Todo mundo começa do básico. Mesmo durante os 11 anos que se passa em colégio é assim. Programação não é diferente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.