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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Target для динамических объектов Java? 
V
    Опции темы
Killer_13
Дата 30.3.2012, 19:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Подскажите пожалуйста, а есть в Java что-то типо Target? Когда-то писал на ActionScript Там было такое свойство, можно было обращаться к текущему объекту если не ошибаюсь..
Как с этим делом в Яве? Просто не сталкивался. 

Фишка такая: есть двумерный масив динамически созданных панелей - нужно чтоб по наведении мышкой(mouseEntered, mouseExited) к примеру у той панели над которой курсор менялся цвет фона, можно было вытащить еще какую-то информацию о объекте. Тоисть мне нужна ссылка на этот динамический объект


Мне как бы решение не нужно - нужна подсказка в каком направлении смотреть.
Спасибо!
PM MAIL   Вверх
dorogoyIV
Дата 30.3.2012, 21:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1503
Регистрация: 26.3.2007

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



например так:  smile 
Код

package Killer_13;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
import java.util.*;

public class Main extends JFrame
                  implements MouseListener
{
 public Main()
 {
  setLayout(new FlowLayout());
  createPanels();
 }

 private void createPanels()
 {
  for(int i = 0; i < 15; i++)
  {
   JPanel panel = new JPanel();
   panel.setPreferredSize(new Dimension(100, 100));
   panel.setBackground(new Color(new Random().nextInt(255),
                                 new Random().nextInt(255),
                                 new Random().nextInt(255)));
   panel.setName(i + "");
   panel.addMouseListener(this);
   add(panel);
  }
 }

 public void mouseEntered(MouseEvent e)
 {
  Object o = e.getSource();
  JComponent jc = (JComponent)e.getSource();
  jc.setBorder(new BevelBorder(BevelBorder.RAISED));
  System.out.println("panel number " + jc.getName());
 }
 public void mouseExited(MouseEvent e)
 {
  Object o = e.getSource();
  JComponent jc = (JComponent)e.getSource();
  jc.setBorder(null);
 }
 public void mousePressed(MouseEvent e){}
 public void mouseReleased(MouseEvent e){}
 public void mouseClicked(MouseEvent e){}

 public static void main(String [] args)
 {
  SwingUtilities.invokeLater(new Runnable() {
   public void run() {
    Main main = new Main();
    main.setDefaultCloseOperation(3);
    main.setBounds(100, 100, 600, 500);
    main.setVisible(true);}});
 }
}

PM MAIL   Вверх
Killer_13
Дата 30.3.2012, 21:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Ахаххххххх, я почти догадался, смотрел все таки в правильно направлении, но забыл что есть такая штучка как "приведение типов"!!! smile И это ж очевидно если я тащу из евента компонент, то его можно "кастовать". 
А скажите пожалуйста, а зачем вот эта строчка?

Код

Object o = e.getSource();

Чтоб сохранять предыдущее состояние объекта или..?
Работает и без нее...

Спасибо огромное!!

Это сообщение отредактировал(а) Killer_13 - 30.3.2012, 21:56
PM MAIL   Вверх
dorogoyIV
Дата 30.3.2012, 22:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1503
Регистрация: 26.3.2007

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



Цитата(Killer_13 @  30.3.2012,  21:54 Найти цитируемый пост)
А скажите пожалуйста, а зачем вот эта строчка?

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

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

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


 




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


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

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