Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
5 / 6 / 4
Регистрация: 03.12.2009
Сообщений: 267
1

События в netbeans

27.02.2011, 12:30. Показов 2270. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. Создаю в визуальном редакторе JFrame на него кидаю собственный класс - наследник Jpanel, пишу обработчик для клика мышки по нему же. Событие не отлавливается. Знаю, что обработчик можно добавить через IDE, но хочу, чтобы метод описывался в самом классе.Подскажите как это корректно сделать. Вот код класса.
Java
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
package my;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
/**
 *
 * @author Лёха
 */
public final class MyJPanel extends javax.swing.JPanel implements MouseListener
{
    public int x1;
    public int y1;
    public int x2;
    public int y2;
    public int flag;
 
    public  MyJPanel()
    {
        x1 = 0;
        y1 = 0;
        x2 = 0;
        y2 = 0;
        flag = 0;
        addMouseListener(new MouseAdapter(){ public void mouseClicked(MouseEvent e) {
            this.mouseClicked(e);
            }
 
            public void mousePressed(MouseEvent e) {
                throw new UnsupportedOperationException("Not supported yet.");
            }
 
            public void mouseReleased(MouseEvent e) {
                throw new UnsupportedOperationException("Not supported yet.");
            }
 
            public void mouseEntered(MouseEvent e) {
                throw new UnsupportedOperationException("Not supported yet.");
            }
 
            public void mouseExited(MouseEvent e) {
                throw new UnsupportedOperationException("Not supported yet.");
            }
        });
    }
    public void paintComponent(Graphics g)
    {
            g.drawLine(x1, y1, x2, y2);   
    }
 
    public void mouseClicked(MouseEvent e)
    {
       if(flag == 0)
       {
            x1 = e.getX();
            y1 = e.getY();
            flag++;
       }
 
       else
       {
            x2 = e.getX();
            y2 = e.getY();
            flag = 0;
            repaint();
       }
        JOptionPane.showMessageDialog(null, "Привет!");
    }
 
    public void mousePressed(MouseEvent e) {
        throw new UnsupportedOperationException("Not supported yet.");
    }
 
    public void mouseReleased(MouseEvent e) {
        throw new UnsupportedOperationException("Not supported yet.");
    }
 
    public void mouseEntered(MouseEvent e) {
        throw new UnsupportedOperationException("Not supported yet.");
    }
 
    public void mouseExited(MouseEvent e) {
        throw new UnsupportedOperationException("Not supported yet.");
    }
 
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.02.2011, 12:30
Ответы с готовыми решениями:

NetBeans and Sybase
Отписавшимся в лс сыллку на проект.Проект на базе субд Sybase нужна помощь в разъяснении как его...

NetBeans Java3D
Как включить поддержку Java3D в NetBeans 6.91 ? Я только начинаю работать с Java3D. Добавлено...

JFileChooser Netbeans
Задание: с использованием jFileChooser мне нужно чтобы юзер выбирал файл (например картинку...

Таблица в NetBeans
Народ, нид хелп, срочно! Я в нетбинсе создал таблицу с элемента в JFrame Ну вот собственно код...

8
Эксперт JavaЭксперт С++
8384 / 3616 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
27.02.2011, 13:03 2
Karpo, все работает, просто вы не того ожидали.
Меня порадовала 25 строка. Вы действительно хотите при клике на панели получать StackOverflow?
Зачем вы реализовываете MouseListener, ведь вы уже определили и добавили обработчики.


Вот рабочий код:
Java
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
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
 
import javax.swing.JOptionPane;
 
public final class MyJPanel extends javax.swing.JPanel {
 
   private static final long serialVersionUID = -2932817702792687767L;
   public int x1;
   public int y1;
   public int x2;
   public int y2;
   public int flag;
 
   public MyJPanel() {
      x1 = 0;
      y1 = 0;
      x2 = 0;
      y2 = 0;
      flag = 0;
      addMouseListener(new MouseAdapter() {
         public void mouseClicked(MouseEvent e) {
            // this.mouseClicked(e);
            JOptionPane.showMessageDialog(null, "Привет!");
         }
 
         public void mousePressed(MouseEvent e) {
            // throw new UnsupportedOperationException("Not supported yet.");
         }
 
         public void mouseReleased(MouseEvent e) {
            // throw new UnsupportedOperationException("Not supported yet.");
         }
 
         public void mouseEntered(MouseEvent e) {
            // throw new UnsupportedOperationException("Not supported yet.");
         }
 
         public void mouseExited(MouseEvent e) {
            // throw new UnsupportedOperationException("Not supported yet.");
         }
      });
   }
 
}
1
5 / 6 / 4
Регистрация: 03.12.2009
Сообщений: 267
27.02.2011, 13:35  [ТС] 3
Нет, так тоже окно не выскакивает. Событие не отлавливается. И мне непонятна 8-ая строка вашего примера.

Добавлено через 11 минут
вот что показывает консоль netbeans
Java
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
Exception in thread "AWT-EventQueue-0" java.lang.UnsupportedOperationException: Not supported yet.
        at my.MyJPanel$1.mouseEntered(MyJPanel.java:45)
        at java.awt.Component.processMouseEvent(Component.java:6298)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
        at java.awt.Component.processEvent(Component.java:6054)
        at java.awt.Container.processEvent(Container.java:2041)
        at java.awt.Component.dispatchEventImpl(Component.java:4652)
        at java.awt.Container.dispatchEventImpl(Container.java:2099)
        at java.awt.Component.dispatchEvent(Component.java:4482)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
        at java.awt.LightweightDispatcher.trackMouseEnterExit(Container.java:4366)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4220)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
        at java.awt.Container.dispatchEventImpl(Container.java:2085)
        at java.awt.Window.dispatchEventImpl(Window.java:2478)
        at java.awt.Component.dispatchEvent(Component.java:4482)
        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:644)
        at java.awt.EventQueue.access$000(EventQueue.java:85)
        at java.awt.EventQueue$1.run(EventQueue.java:603)
        at java.awt.EventQueue$1.run(EventQueue.java:601)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
        at java.awt.EventQueue$2.run(EventQueue.java:617)
        at java.awt.EventQueue$2.run(EventQueue.java:615)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:614)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
0
Эксперт JavaЭксперт С++
8384 / 3616 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
27.02.2011, 13:37 4
В архиве проект на NetBeans 6.9.1.
8 строка необходима для сериализации. Грубо говоря контрольная сумма для проверки десериализуемого объекта


Karpo, пересоберите проект. Вы же эти исключения бросаете в обработчиках событий.
Вложения
Тип файла: zip JavaApplication1.zip (20.3 Кб, 16 просмотров)
1
5 / 6 / 4
Регистрация: 03.12.2009
Сообщений: 267
27.02.2011, 13:57  [ТС] 5
Спасибо за помощь, но Ваш проект ничего не решил. Там же всё вручную прописано. А я специально написал в этот раздел.У меня один класс, написанный руками. И Jframe, и этот класс добавляются из pallete. Получается совсем другая история. Взять хотя бы SwingUtilities.invokeLater, у меня в этом месте invoke из библиотеки awt. Вообщем, запустил clean and build Main project. В консоли тоже самое
0
Эксперт JavaЭксперт С++
8384 / 3616 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
27.02.2011, 14:00 6
Karpo, прикрепите архив с вашим проектом
1
5 / 6 / 4
Регистрация: 03.12.2009
Сообщений: 267
27.02.2011, 14:08  [ТС] 7
Ещё раз спасибо за помощь, если не трудно объясните ещё, как получать ту контрольную сумму для проекта или киньте ссылочку на эту тему.
Вложения
Тип файла: rar Графика пробуем.rar (627.2 Кб, 14 просмотров)
0
Эксперт JavaЭксперт С++
8384 / 3616 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
27.02.2011, 17:18 8
Java
1
throw new UnsupportedOperationException("Not supported yet.");
Вы знаете что это за строка и что она делает? Зачем вы ее вставляете? И вы понимаете куда вы ее вставляете? И знаете очередность возникновения эвентов от мыши на компонентах?

Заведите привычку читать стектрейсы в терминале. У вас все работает, просто поубирайте ту строку, о которой я написал.
1
5 / 6 / 4
Регистрация: 03.12.2009
Сообщений: 267
27.02.2011, 19:15  [ТС] 9
Большое спасибо. Просто я раньше с классами не имел дело, кроме как в PHP, а тут добавил интерфейс и метод, IDE сообщила мне, что нужно реализовать все методы. Я нажал значок, и создались остальные методы вместе с исключениями. Буду дальше разбираться
0
27.02.2011, 19:15
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.02.2011, 19:15
Помогаю со студенческими работами здесь

NetBeans и eclipse
Всем привет! Уже не раз сталкиваюсь с такой ситуацией, когда один и тот же код вызывает ошибку...

netbeans отладка
Товарищи, подскажите как правильно отлаживать проект в NetBeans, понимаю что пишу не в ветке IDE....

NetBeans Java
Ребят помогите написать функцию на языке Java в области NetBeans,вообщем нужно сделать калькулятор...

DesktopApplication в NetBeans
Выбрал DesktopApplication в NetBeans. Создало три класса: DesktopApplication1,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru