Şimdi Ara

Java'da yazılmış ufak bir web tarayıcısı

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
3
Cevap
0
Favori
630
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Arkadaşlar bir e-book'ta rastladığım kodları buraya yazıyorum(az değişmiş haliyle tabii).


    WebBrowserPane.java
     
    import java.util.*;
    import java.net.*;
    import java.io.*;
    import javax.swing.*;

    public class WebBrowserPane extends JEditorPane
    {
    private List history=new ArrayList();
    private int historyIndex;

    public WebBrowserPane()
    {
    setEditable(false);
    }

    public void goToURL(URL url)
    {
    displayPage(url);
    history.add(url);
    historyIndex=history.size()-1;
    }

    public URL forward()
    {
    historyIndex++;
    if (historyIndex>=history.size())
    historyIndex=history.size()-1;
    URL url=(URL) history.get(historyIndex);
    displayPage(url);
    return url;
    }

    public URL back()
    {
    historyIndex--;
    if (historyIndex<0)
    historyIndex=0;
    URL url=(URL) history.get(historyIndex);
    displayPage(url);
    return url;
    }

    private void displayPage(URL pageURL)
    {
    try {
    setPage(pageURL);
    } catch (IOException ioException) {
    ioException.printStackTrace();
    }
    }
    }



    WebToolBar.java
     
    import java.awt.*;
    import java.awt.event.*;
    import java.net.*;
    import javax.swing.*;
    import javax.swing.event.*;

    public class WebToolBar extends JToolBar implements HyperlinkListener
    {
    private WebBrowserPane webBrowserPane;
    private JButton backButton;
    private JButton forwardButton;
    private JTextField urlTextField;

    public WebToolBar(WebBrowserPane browser)
    {
    super("Web Navigation");
    webBrowserPane=browser;
    webBrowserPane.addHyperlinkListener(this);
    urlTextField=new JTextField(25);
    urlTextField.addActionListener(
    new ActionListener() {
    public void actionPerformed(ActionEvent event)
    {
    try {
    URL url=new URL(urlTextField.getText());
    webBrowserPane.goToURL(url);
    } catch (MalformedURLException urlException) {
    urlException.printStackTrace();
    }
    }
    }
    );
    backButton=new JButton("Go Back");
    backButton.addActionListener(
    new ActionListener() {
    public void actionPerformed(ActionEvent event)
    {
    URL url=webBrowserPane.back();
    urlTextField.setText(url.toString());
    }
    }
    );
    forwardButton=new JButton("Go Forward");
    forwardButton.addActionListener(
    new ActionListener() {
    public void actionPerformed(ActionEvent event)
    {
    URL url=webBrowserPane.forward();
    urlTextField.setText(url.toString());
    }
    }
    );
    add(backButton);
    add(forwardButton);
    add(urlTextField);
    }

    public void hyperlinkUpdate(HyperlinkEvent event)
    {
    if (event.getEventType()==HyperlinkEvent.EventType.ACTIVATED) {
    URL url=event.getURL();
    webBrowserPane.goToURL(url);
    urlTextField.setText(url.toString());
    }
    }
    }


    WebBrowser.java
     
    import java.awt.*;
    import java.awt.event.*;
    import java.net.*;
    import javax.swing.*;
    import javax.swing.event.*;

    public class WebBrowser extends JFrame
    {
    private WebToolBar toolBar;
    private WebBrowserPane browserPane;

    public WebBrowser()
    {
    super("Zed Web Browser");
    browserPane=new WebBrowserPane();
    toolBar=new WebToolBar(browserPane);
    Container contentPane=getContentPane();
    contentPane.add(toolBar,BorderLayout.NORTH);
    contentPane.add(new JScrollPane(browserPane),BorderLayout.CENTER);
    }

    public static void main(String[] args)
    {
    WebBrowser browser=new WebBrowser();
    browser.setDefaultCloseOperation(EXIT_ON_CLOSE);
    browser.setSize(640,480);
    browser.setVisible(true);
    }
    }



    Bağlantım yeteri kadar güçlü olsaydı ekran görüntüsü de atardım ama artık kendiniz çalıştırır denersiniz iyi geceler.



    < Bu mesaj bu kişi tarafından değiştirildi N£fR£´|` -- 5 Haziran 2007; 8:11:28 >







  • hmmm, http uzerinden GET ve POST gondermek sorun degil. Olay tamamen string parsing. Sanirim web tarayicilarinin gercek zorluklari imaj goruntulemede ve guvenlik ayarlarinda.

    ama ogrenmek acisindan guzel bir mesaj... ilgilenenler http'nin nasil calistigini az cok ogrenebilir.
  • program tam çalışmıyor, buranın adresini yazdım zor güç açtı :D
    işlemciyi de 100 de 100 kullanıyor :D

    yine de çok sağol işime yaradı
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.