<HTML>
<HEAD>
<TITLE> Мой простой сайт </TITLE>
</HEAD>
<BODY>
<P>
Лабораторная работа 14
<BR>
Знакомство с html
</P>
<IMG SRC='RIS1.JPG'>
<BR>
<A HREF='TASK.HTML'>ЗАДАНИЯ </A> <!—переход не работает -->
</BODY>
</HTML>
<HTML>
<HEAD>
<TITLE> Варианты заданий </TITLE>
</HEAD>
<BODY>
<P>
Задание 14
<BR>
Вариант 21
</P>
</BODY>
</HTML>
Загрузка реальной web страницы (не все теги распознаны)
// je.setPage("file:mysite.html");
je.setPage("https://www.rambler.ru");
Подключение перехода по ссылке
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextPane;
import javax.swing.event.HyperlinkEvent;
import javax.swing.event.HyperlinkListener;
public class lab14
{
JFrame form;
JScrollPane js;
JTextPane je;
lab14()
{
................
form.getContentPane().add(js);
// прослушкапанелиредактированиянапереходпогиперссылке
je.addHyperlinkListener(new HyperlinkListener()
{
public void hyperlinkUpdate(HyperlinkEvent r)
{
try
{
if(r.getEventType() == HyperlinkEvent.EventType.ACTIVATED)
je.setPage(r.getURL()); // настраницу с выбраннойссылкой
}
catch(Exception e)
{
}
}
});
form. show ();
try
{
je.setPage("file:mysite.html");
}
catch(Exception e)
{
}
}
public static void main (String args[])
{
lab14 f;
|
|
f= new lab14();
}
}
Сохранение html как текста
form. show ();
try
{
je.setPage("file:mysite.html");
Ct=je.getText(); // <html\r\n<head...
// поиск подстроки <A HREF
// выделение подстроки task.html
je.setPage("file:task.html");
// сохранение строки Ct в текстовый файл
Проверка завершенности загрузки страницы - addPropertyChangeListener("page", this);сохранение графики
// je.setPage("https://www.rambler.ru");
je.setPage("file:mysite.html");
// Ct =je.getText();
// поиск в Ct <IMG
// выделениеподстроки "ris1. jpg "
URL url;
// url = new URL("https://www.rambler.ru/car.jpg");
url = new URL("file:ris1.jpg");
// пример записи двоичного файла через буфер
InputStream in = new BufferedInputStream(url.openStream());
ByteArrayOutputStream out = new ByteArrayOutputStream();
byte[] buf = new byte[1024];
int n = 0;
while ((n=in.read(buf))!=-1)
{
out.write(buf, 0, n);
}
out.close();
in.close();
byte[] bt = out.toByteArray();
FileOutputStream fos =
new FileOutputStream("newimage.jpg");
fos.write(bt);
fos.close();
3) HTMLComponent на Java ME.
Загрузка html файла из ресурсов.
В папку \MobileApplication1\src где находится программа
lab14.java добавить папку HtmlFiles, в ней создать файл mysite.html
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
<BODY>
<P>
Work 14
<BR>
<I>
What is html
</I>
</P>
</BODY>
</HTML>
В ресурсы добавляется папка HtmlFiles
import javax.microedition.midlet.*;
import com.sun.lwuit.*;
import com.sun.lwuit.events.*;
import com.sun.lwuit.geom.*;
import com.sun.lwuit.html.HTMLComponent;
import com.sun.lwuit.layouts.*;
import java.io.InputStream;
public class lab14 extends MIDlet
{
Form form;
HTMLComponent hc;
String St; // строка для чтения html файла
public void startApp()
{
int w,h;
Dimension d=new Dimension(200,200);
Display.init(this);
form = new Form();
form.setPreferredSize(d);
form.setTitle("лабораторная 14");
w=form.getWidth();
h=form.getHeight();
CoordinateLayout e = new CoordinateLayout(w,h);
form.setLayout(e);
hc=new HTMLComponent(null);
hc.setX(20); // слева 20
hc.setY(30); // сверху 30
form.addComponent(hc);
form.show();
St=new String();
// чтение посимвольно файла из ресурсов
|
|
InputStream is = getClass().getResourceAsStream("mysite.html");
try
{
char ch=0;
int rd=0;
while ((rd = is.read())!=-1) // чтение посимвольно
{
ch=(char)rd; // прочитанный символ
St=St+ch;
}
}
catch (Exception ee)
{
}
hc.setHTML(St, "","", true); // 'encoding' 'title'
}
public void pauseApp()
{
}
public void destroyApp(boolean unconditional)
{
}
}
4)Аплеты
Аплет - приложение, часть html страницы, запускается,
когда браузер открывает страницу. Аплет не имеет доступа