import java.net.*;
import java.io.*;
import java.util.Date;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class denemeURL extends JFrame implements ActionListener,ItemListener,Runnable {
JTextField tf;
JButton btn,cls;
TextArea ta;
Container cont;
JLabel lab;
Checkbox cb;
JProgressBar pb;
Thread th;
public denemeURL(String title){
super(title);
cont=getContentPane();
tf=new JTextField("http://www.triotek.com.tr",30);
cls=new JButton("Temizle");
cls.addActionListener(this);
btn=new JButton("kaynak kodu getir..");
btn.addActionListener(this);
ta=new TextArea(30,100);
lab=new JLabel("Durum : Henuz bir işlem gerçekleştirilmedi..");
cb=new Checkbox("Yeni sayfada aç",null,true);
cb.addItemListener(this);
pb=new JProgressBar();
th=new Thread(this);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent we){
try{
System.gc();
System.exit(0);
}
catch(Exception ex){
JOptionPane.showMessageDialog(null,"EXception name : "+ex);
}
}
});
cont.add(tf);
cont.add(btn);cont.add(cls);cont.add(cb);
cont.add(ta);
cont.add(lab);
cont.add(pb);
cont.setLayout(new FlowLayout());
}
public void run(){
lab.setText("Lütfen bekleyiniz içerik alınıyor..");
try{
pb.setBorderPainted(true);
pb.setStringPainted(true);
///////////////////////////////////////////////
/*
*Programmer : Toygar Dundaralp
*E-mail : tdundaralp@msn.com
*
**/
if(cb.getState()==true){
ta.setText("");
}
String adres=tf.getText();
try{
if(adres.length()==0){
JOptionPane.showMessageDialog(null,"Lütfen bir adres giriniz");
}
else{
int c;
URL hp=new URL(adres);
URLConnection hpCon=hp.openConnection();
ta.append("Gün : "+new Date(hpCon.getDate())+"\n");
ta.append("İçerik tipi : "+hpCon.getContentType()+"\n");
ta.append("Sona erme süresi : "+hpCon.getExpiration()+"\n");
ta.append("Son Degiştirme tarihi : "+new Date(hpCon.getLastModified())+"\n");
ta.append("İzinler : "+hpCon.getPermission()+"\n");
int len=hpCon.getContentLength();
pb.setMaximum(len);
ta.append("İçerik uzunluğu : "+len+"\n");
if(len>0){
ta.append("======= İçerik başlıyor =======\n");
InputStream input=hpCon.getInputStream();
int i=len;
while((c=input.read())!= -1 && ( --i > 0 )){
String kaynak=String.valueOf((char) c);
pb.setValue(i);
ta.append(kaynak);
}
input.close();
ta.append(" \n ");
ta.append(" \n ");
ta.append("======= İçerik sonu =======");
} else{
ta.append("İçerik alınamıyor!.."+"\n");
}
}
}
catch(Exception ex){
ta.append("\nBir hata meydana geldi \n"+
"Dosya bulunamadı ya da uzantısı yanlış belirtilmiş durumda!\n"+
"Adresi kontrol edip lütfen tekrar deneyin..");
}
lab.setText(adres+" adresinin içerigi alındı.");
pb.setValue(0);
////////////////////////////////////////////////
}
catch(Exception ex){
System.out.println("Exception name : "+ex);
}
}
public void itemStateChanged(ItemEvent ie){
lab.setText("İçerik yönetimi ayarlandı..");
}
public void actionPerformed(ActionEvent ae){
if(ae.getSource()==btn){
th.start();
}
if(ae.getSource()==cls){
ta.setText("");
lab.setText("Sayfa içerigi temizlendi..");
}
}
public static void main(String args[]) {
denemeURL den=new denemeURL("denemeURL..");
den.setBounds(150,150,750,570);
den.setVisible(true);
}
}