Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Перехват событий 
:(
    Опции темы
Danaika
Дата 16.11.2005, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 8.11.2005

Репутация: нет
Всего: нет



решила вопрос с диалоговым окном, теперь проблема с перехватом событий
ниже приведен листинг, объясните пожалуста почему событие нажатия на кнопку срабатывает, даже когда это событие не произошло(например при запуске программки и когда просто разворачиваешь свёрнутое окно фрэйма)?


Код

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
            {
                File file=new File(dialog.getDirectory()+"\\"+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)
    {
        //тут я рисую всякие графики
    }
}


Это сообщение отредактировал(а) Lamer George - 16.11.2005, 15:44
PM MAIL   Вверх
polosatij
Дата 18.11.2005, 11:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1143
Регистрация: 22.2.2004
Где: Stuttgart<-> ;Karlsruhe, Germany

Репутация: нет
Всего: 8



а почему ты думаешь, что событие "handleEvent" срабатывает именно при нажатии на кнопку?

смотри:

http://java.sun.com/j2se/1.4.2/docs/api/ja...ActionListener)

buttonName.addActionListener(...) // <-


handleEvent относиться к java.awt.Component и тем самым наследуеться Frame, который ты используешь...



--------------------
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Апплеты | Следующая тема »


 




[ Время генерации скрипта: 0.0391 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.