Arama butonu
Bu konudaki kullanıcılar: 1 misafir
2
Cevap
732
Tıklama
0
Öne Çıkarma
Java'da yazılmış ufak bir web tarayıcısı
N
19 yıl (189 mesaj)
Çavuş
Konu Sahibi

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.

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil





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

A
19 yıl (762 mesaj)
Yüzbaşı

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.


Bu mesaja 1 cevap geldi.
H
19 yıl (5375 mesaj)
Yarbay

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ı



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.