Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.06.2010, 03:13   #1
insan00b
 
Регистрация: 25.01.2010
Сообщений: 7
По умолчанию непонятка с MouseListener

этим куском кода пытаюсь добиться следующего эффекта:
по клику в области окна рисовать "точку", при этом запоминая на будущее её координаты.
если не сложно, подправьте пожалуйста до рабочего состояния, или укажите, где я ошибся. джаву только начал изучать, пишу в NetBeans методом проб и ошибок с примеров в интернете.
PS это не программа целиком, тут еще довольно много надо приделать, не обращайте внимания на хвосты - процесс встал из-за отлова координат мыши, а может с рисованием точки что-то не так

Код:
package graphlab;
import java.awt.*;
import java.awt.event.*;
import javax.swing.JFrame;


class MyFrame extends JFrame{
    int point[][] = new int[3][25];     
    int ipoint = 0;                     
        MyFrame(String s){
        super (s);
        setSize(800,600);
        setVisible(true);
            addWindowListener(new WindowAdapter(){
            public void windowClosing(WindowEvent e){
                System.exit(0);
            }
        });
        
        
        Panel p = new Panel();
        p.add(new Label("некий текст"));
        TextField tf = new TextField("окно выдачи сообщений", 50);
        tf.setEditable(false);
        p.add(tf);
        add(p, BorderLayout.NORTH);
        ScrollPane pane = new ScrollPane();
        pane.addMouseListener(new MouseAdapter() {
            public void mouseClicked(MouseEvent e) {
            requestFocus();
        point[0][ipoint]=0;
        point[1][ipoint]=getX();
        point[2][ipoint]=getY();
        Graphics g = getGraphics();
        g.draw3DRect(point[1][ipoint]-1,point[2][ipoint]-1,2,2,true);
        ipoint++;
        }
    });
        setPreferredSize(new Dimension(450, 200));
        pane.setSize(800,400);
        pane.setBackground(Color.white);
        add(pane, BorderLayout.CENTER);
        
        
            }
    
public static void main(String[] args){
    new MyFrame("Заголовок");
    
}
}
insan00b вне форума Ответить с цитированием
Старый 09.06.2010, 14:57   #2
insan00b
 
Регистрация: 25.01.2010
Сообщений: 7
По умолчанию

разобрался, заработало. можно закрывать
insan00b вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Непонятка с жесткими дисками insense Софт 6 23.10.2009 00:29
Непонятка с запросом WishNight БД в Delphi 9 03.02.2009 23:30
Непонятка с QuickReport Yurk@ БД в Delphi 1 14.11.2008 01:41
Непонятка с русским Antidoc Общие вопросы C/C++ 1 11.08.2008 21:21
Непонятка или ошибка TIdHTTPServer Vovkin Работа с сетью в Delphi 7 09.01.2007 16:15