• Иллюстрированный самоучитель по 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, чтобы сообщить об этом редактору.