Catch(Exception e)
Try
Public void hyperlinkUpdate(HyperlinkEvent r)
{
{
if(r.getEventType() == HyperlinkEvent.EventType.ACTIVATED)
je.setPage(r.getURL()); // на страницу с выбранной ссылкой
}
{
}
}
});
form.show();
try
{
je.setPage("file:mysite.html");
}
catch(Exception e)
{
}
}
public static void main (String args[])
{
Prog_6_3 f;
f= new Prog_6_3();
}
}
Переход по ссылкам и сохранение содержимого как html файлы.
String Ct; // содержимое html страницы
String s;
Prog_6_3()
{
Ct=new String("");
s=new String("");
………………………………………
try
{
je.setPage("https://rambler.ru"); // загрузка начальной страницы
}
catch(Exception e)
{
}
Ct=je.getText(); //Ct - <html id="js"><head>……
В цикле выполнить поиск подстроки:
k=Ct.indexOf("<a href="
выделить ссылку от " до "
<a href="https://rambler.ru/horoscopes/"..
s= "https://rambler.ru/horoscopes/"
Если в ссылке есть rambler.ru/ - переход в JEditorPane на эту страницу
je.setPage(s);
Ct=je. getText(); и сохранение Ct в файле
Задание 2:
Создать 3 html страницы: index.html(главная), first.html, second.html
Установить в index.html ссылки н first, second и ссылки "на главную" в first и second.
Программа в SE должна отображать index.html, при нажатии на ссылки переходить
|
|
на страницы и при нажатии кнопки button, размещенной на форме) найти 2 ссылки и сохранить содержимое first.html и second.html в 1.html и 2.html
3) Аплеты
Аплет - приложение, часть html страницы, запускается, когда браузер открывает страницу. Аплет не имеет доступа к файловой системе компьютера и данные передаются только по установленному соединению сервер(где сайт) - клиент (компьютер, открывший в браузере html файл).
import java.applet.Applet;
import java.awt.Graphics;
public class Prog_6_4 extends Applet
{
public void paint(Graphics g)
{
g.drawString("Это аплет", 10,10);
}
}
Запуск в eclipse:
Run - Run as - java Applet
Аплет - как часть html файла:
Mysite5.html
<HEAD>
<TITLE> Мой простой сайт </TITLE>
</HEAD>
<BODY>
<H2> Лабораторная 6 </H2>
Работа с html <BR>
<applet code="Prog_6_4.class" width=250 height=80 >
</applet>
</BODY>
</HTML>
Файл Prog_6_4.class поместить в каталог вместе с mysite5.html
Аплет имеет 4 метода: init, start, stop, destroy.
Аплет с окном вывода.
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import javax.swing.JApplet;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
public class Prog_6_5 extends JApplet
{
JFrame form; // окно вывода аплета
JLabel lb; // в аплете!
// текстовые поля в окне вывода
JTextField tf1;
JTextField tf2;
JButton bt; // в аплете
public void init()
{
form=new JFrame();
form.setLayout(null);
lb=new JLabel();
tf1=new JTextField();
tf2=new JTextField();
bt=new JButton();
form.setSize (500,500);
lb.setBounds(20,10,100,40);
tf1.setBounds(20,80,100,20);
tf2.setBounds(180,80,100,20);
bt.setBounds(20,130,140,20);
// добавление отклика на событие click
bt.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
// при нажатии кнопки bt переход в данную точку
System.exit(0);
}
});
tf1.addFocusListener(new FocusListener()
{
public void focusGained(FocusEvent e)
{
// при попадании на текстовое поле
}
|
|
public void focusLost(FocusEvent e)
{
// при выходе из текстового поля
Calculate();
}
});
tf2.addFocusListener(new FocusListener()
{
public void focusGained(FocusEvent e)
{
// при попадании на текстовое поле
}
public void focusLost(FocusEvent e)
{
// при выходе из текстового поля
Calculate();
}
});
form.setTitle ("окно вывода");
lb.setText("Ответ:");
bt.setLabel("Завершить");
tf1.setText("Фамилия");
this.form.add(tf1); // в окно вывода
tf2.setText("Имя");
this.form.add(tf2); // в окно вывода
add(lb); // в аплет
add(bt); // в аплет
}
public void Calculate()
{
String s1,s2;
s1=tf1.getText();
s1=s1+" ";
s2=tf2.getText();
s1=s1+s2;
lb.setText(s1);
}
public void start()
{
form.setVisible(true);
}
public void stop()
{
form.setVisible(false);
}
public void destroy()
{
form.dispose();
}
}
В eclipse: run as applet:
В браузере:
mysite6.html
<HTML>
<HEAD>
<TITLE> Мой простой сайт </TITLE>
</HEAD>
<BODY>
<H2> Лабораторная 6 </H2>
Работа с html <BR>
<applet code="Prog_6_5.class" width=250 height=80 >
</applet>
</BODY>
</HTML>
Задание 3:
Линейный алгоритм из лабораторной 1 реализовать в виде аплета с использованием компонент Label (для вывода результата), нескольких TextField(ввод данных) и Button-вычислить.
mysite6.html
<HTML>
<HEAD>
<TITLE> Мой простой сайт </TITLE>
</HEAD>
<BODY>
<H2> Лабораторная 6 </H2>
Работа с html <BR>
<applet code="Prog_6_5.class" width=250 height=80 >
<param name ="fontSize" value="30">
</applet>
</BODY>
</HTML>
…….
public void init()
{
int size;
……
size=Integer.parseInt(getParameter("fontSize");
……
size=10;
setFont(….,10);
Сервлет - программа обработки запроса клиента. Обычно передача некоторой информации по запросу пользователя.
JavaScript - язык сценариев, встраиваемый в html, напоминающий java.
<HTML>
<HEAD>
<TITLE> пример javascript </TITLE>
</HEAD>
<BODY>
<SCRIPT LANGUAGE ="JavaScript">
var a,b,c;
a=10;
b=5;
a +=b;
document.write(a + "<BR>");
var numbers = new Array(3);
numbers[0]=1;
numbers[1]=2;
numbers[2]=3;
document.write(numbers + "<BR>");
</SCRIPT>
<H2> Пример </H2>
Работа с html и javascript <BR>
</BODY>
</HTML>