powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / как правильно реализовать перехват событий?
5 сообщений из 5, страница 1 из 1
как правильно реализовать перехват событий?
    #33383337
Danaika
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ниже приведен листинг, объясните пожалуста почему событие нажатия на кнопку срабатывает, даже когда это событие не произошло(например при запуске программки и когда просто разворачиваешь свёрнутое окно фрэйма)?



Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
 import  java.awt.*;                              
 import  java.awt.event.WindowAdapter;
 import  java.awt.event.ComponentEvent;
 import  java.io.*;
 import  java.lang.*;
 import  java.lang.String;
 import  java.lang.Math.*;    
 import  javax.swing.*;
 public   class  Lab2  extends  Frame
{
    TextArea txt_mas;
     static  TextArea txt_smas;
     static  TextArea txt_mi;
    Button get_mas;
     static   Double  mas[];
     static   int  Mi[]={ 0 , 0 , 0 , 0 , 0 , 0 };
     static   double  h;
     static   int  K;
     static  FileDialog dialog;
     public  Lab2()
    {
        get_mas= new  Button("Get Array from File");
        get_mas.setBounds( 10 , 40 ,  120 ,  25 );
        
         super .add(get_mas);
        txt_mas= new  TextArea();
        txt_mas.setBounds( 10 , 80 , 60 , 630 );
         super .add(txt_mas);
        txt_smas= new  TextArea();
        txt_smas.setBounds( 80 , 80 , 60 , 630 );
         super .add(txt_smas);
        txt_mi= new  TextArea();
        txt_mi.setBounds( 160 , 80 , 60 , 110 );
         super .add(txt_mi);
          int  width =  1020 ;
          int  height =  850 ;
          super .setSize(width, height);
         super .setLayout( null );
          super .setVisible(true);                                                                                                                  
    }
     public   boolean  handleEvent(Event evt)
    {
         if (evt.id==Event.WINDOW_DESTROY )
        {
            dispose();      
             return  true;
        }
         else   if (evt.target.equals(get_mas))
        {    
                
            dialog.setDirectory("D:\\5-course\\EXP\\Lab02");
            dialog.show();
            txt_mas.setText("");
             try 
            {
                String slash = "/";
                File file= new  File(dialog.getDirectory() + slash + dialog.getFile());
                FileInputStream fis= new  FileInputStream(file);
                DataInputStream dis= new  DataInputStream(fis);
                String line=dis.readLine();
                String []tmp = line.split(",");
                mas =  new   Double  [tmp.length];
                 for ( int  i= 0 ;i<mas.length;i++)
                {
                    mas[i] =  new   Double (tmp[i]);    
                    txt_mas.appendText(String.valueOf(mas[i])+"\n");
                }
                               
                 this .repaint();
            }
             catch (IOException e)
            {
                System.out.println("error = "+e);
            }        
             return  true;
        }
         else 
        return   super .handleEvent(evt);
    }
     public   static   void  main(String args[]) 
    {        
        Lab2 lab= new  Lab2();       
        dialog= new  FileDialog(lab,"Open");
    }
     public   void  paint(Graphics g)
    {
        //тут я рисую всякие графики
    }
}
...
Рейтинг: 0 / 0
как правильно реализовать перехват событий?
    #33383588
KPIIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А где слушатель присоединяется к кнопке???
...
Рейтинг: 0 / 0
как правильно реализовать перехват событий?
    #33383906
Danaika
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вообще-то у меня тут нет слушателя, я попыталась реализовать через handleevent
насколько я знаю так можно сделать или я ошибаюсь?

а если реализовывать через слушателя это нужно добавлять "emplement ActionListener"?
...
Рейтинг: 0 / 0
как правильно реализовать перехват событий?
    #33385034
aquasnake
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нужно выполнять действия по событию нажатия кнопки, а не по любому событию (кроме WINDOW_DESTROY), адрессованому кнопке, т.е. нужно проверять событие не только на target, но на id.
...
Рейтинг: 0 / 0
как правильно реализовать перехват событий?
    #33385094
KPIIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
handleEvent - deprecated еще с jdk1.1
common practiсe - подсоединяйте соответствующий слушатель к нужному компоненту
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / как правильно реализовать перехват событий?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]