Newsgroup: it.comp.java
Titolo: Una Browser DENTRO un' applicazione Java

Premetto che sono quasi un novellino in fatto di Java (ma non come
programmazione), quindi chiedo scusa per eventuali cavolate.
Ecco le mie due domande:
vorrei inserire in una applicazione JAVA una sorta di browser, anche
se semplicissimo, per fargli caricare delle pagine che si trovano sul
mio sito.
Presumo che non sia possibile (per la stessa concezione del Java)
utilizzare l'OCX fornito dallo stesso IE ed utilizzato dai vari Visual
Basic & co., quindi volevo sapere (1) se esiste una classe browser
GRATUITA (anche un javabean) adatta a questo scopo. Va bene anche un
browser base che legga l'HTML 1.0 o 2.0 (...vorrei evitare di farlo
io...)
Inoltre (2) vorrei sapere se è possibile fare in modo che l'accesso a
queste pagine sul server sia regolamentabile tramite password (ad
esempio utilizzando delle sessioni e il PHP).
Grazie infinite in anticipo.
A presto, Animanera. :)

drk...@tiscalinet.it
 (Animanera) wrote in 
news:d2199d25.0201...@posting.google.com
:

non so se è quello che fa per te, ma lo stesso jTextPane accetta testo 
html.
Matb

Da quello che sň io, i JLabel hanno un parser html...vai a
http://java.sun.com/docs/books/tutorial/uiswing/components/label.html
 , lě
ti spiega tutto!!
Ciao by
Daniele

mio sito.
Se per Browser intendi un qualcosa capace di *sfogliare* le risorse
html in rete, allora temo che quello che ti serve sia un programma
piuttosto complesso...
Se ti interessa *visualizzare* una o più risorse di cui immetti di
volta in volta l'indirizzo, ho un abbozzo che potrebbe fare per te:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;
public class SimpleBrowser extends WindowAdapter 
	implements ActionListener,Runnable
{
	JTextField addressField;
	JEditorPane documentPane;
	JLabel statusBar;
	URL documentURL;
 
	public static void main(String[] args)
	{
		new SimpleBrowser().exec();
	}
 
	public void windowClosing(WindowEvent e)
	{
		System.exit(0);
	}
 
	public void actionPerformed(ActionEvent e)
	{
		String input=addressField.getText();
		addressField.setText("");
		addressField.requestFocus();
		documentURL=null;
		String except=null;
		statusBar.setText("Loading...");
		try
		{
			documentURL=new URL(input);
		}
		catch(MalformedURLException x)
		{
			except=x.getMessage();
			if(except.startsWith("no protocol") ||
				except.startsWith
				("unknown protocol"))
			{
				try
				{
					documentURL=
						new URL
						("http://"+input);
				}
				catch(MalformedURLException c)
				{
					statusBar.setText
						(c.getMessage());
					return;
				}
			}
			else
			{
				statusBar.setText(except);
				return;
			}
 
		}
		Thread th=new Thread(this);
		th.setDaemon(true);
		th.start();
	}
	public void run()
	{
		try
		{
			documentPane.setPage(documentURL);
		}
		catch(IOException x)
		{
			statusBar.setText(x.toString());
		}
		statusBar.setText("Ready.");
	}
 
	void exec()
	{
		JFrame fr=new JFrame("Simple Java Browser "+
			"© Maurizio Testa "+
			"(
avant...@inwind.it
),"+
			" 2002");
		fr.setSize(800,600);
		fr.addWindowListener(this);
		Container contentPane=fr.getContentPane();
		contentPane.setLayout(new BorderLayout());
		JPanel addressPane=new JPanel
			(new BorderLayout());
		JLabel addressLabel=new JLabel("Indirizzo:");
		addressPane.add(addressLabel,"West");
		addressField=new JTextField();
		addressField.addActionListener(this);
		addressPane.add(addressField,"Center");
		contentPane.add(addressPane,"North");
		documentPane=new JEditorPane();
		contentPane.add(documentPane,"Center");
		statusBar=new JLabel("Ready.");
		contentPane.add(statusBar,"South");
		fr.setVisible(true);
	}
}
-- 
La forza di gravità è un falso mito,
è la Terra che succhia!

mio sito.
[CUT]
Se quello che ti serve č abbstanza semplice, dai una bella occhiata 
alla directory demo del tuo jdk: cerca SwingSet2 (ci sono anche i 
sorgenti).
Non so perň dirti che versione di HTML supporti. :-)
HTH
-- 
Ciao
	Fabrizio C.

 HTH
Grazie 1000 per i suggerimenti...sono entrambi molto interessanti...
:)
Ho, però scoperto che lo stesso StarOffice (che, a quanto vedo, è
tutto programmato in JAVA) come browser usa lo stesso internet
explorer installato nel sistema (o comunque una qualche versione di
internet explorer).
Come si potrebbe fare una cosa del genere?
Grazie ancora in anticipo.
Bye, Animanera. :)

 HTH
Grazie 1000 per i suggerimenti...sono entrambi molto interessanti...


 tutto programmato in JAVA) ...
... č davvero cosě? Sul sito della Sun dice che il software gira "in modo
nativo" sulle varie piattaforme... si riferiranno soltanto agli effetti del
compilatore JIT?...
Ciao a tutti
pole