Иллюстрированный самоучитель по Java

Апплеты

Приведем более сложный пример. Апплет showwindow создает окно somewindow типа Frame, в котором расположено поле ввода типа TextFieid. В него вводится текст, и после нажатия клавиши Enter переносится в поле ввода апплета. В апплете присутствует кнопка. После щелчка кнопкой мыши по ней окно somewindow то скрывается с экрана, то вновь появляется на нем. То же самое должно происходить при уходе и появлении апплета в окне браузера в результате прокрутки, как записано в методах stop () и start (), но будет ли? Программа приведена в листингах 14.5 и 14.6, результат – на рис. 14.3.

Листинг 14.5. Апплет, создающий окно.

// Файл ShowWindow.java
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
public class ShowWindow extends Applet{
private SomeWindow sw = new SomeWindow();
private TextField tf = new TextField(30);
private Button b = new Button("Скрыть");
public void init(){
add(tf); add(b); sw.pack();
b.addActionListener(new ActShow());
sw.tf.addActionListener(new ActShow());
}
public void start(){ sw.setVisible(true); }
public void stop(){ sw.setVisible(false); }
public void destroy(){
sw.disposeO; sw = tf = b = null;
}
public class ActShow implements ActionListener{
public void actionPerformed(ActionEvent ae){
if (ae.getSource() = sw.tf)
tf.setText(sw.tf.getText());
else if (b.getActionCoiranand() == "Показать"){
sw.setVisible(true);
b.setLabel("Скрыть"); }
else{
sw.setVisible(false);
b.setLabel("Показать");
}
}
}
}
class SomeWindow extends Frame{
public TextField tf = new TextField(50);
SomeWindow(){
super(" Окно ввода");
add(new Label("Введите, пожалуйста, свое имя"), "North");
add(tf, "Center");
}
}
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.