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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Перемещение Label по экрану, В проге надо 
:(
    Опции темы
Modelator
Дата 10.4.2005, 21:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Код


import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.applet.*;
                                     

public class Menuu extends Frame implements MouseMotionListener, MouseListener{           //1
     
    Label label;
    Label b1;
    Label l1, l2, l3, l4;

    int x, y;
    int click_X = -1;
    int click_Y = -1;
      
      public Menuu(String s){     //2
       super(s);
         setSize(400, 400);


         MenuBar mbar = new MenuBar();
         setMenuBar(mbar);

         Menu file = new Menu("File");
         file.add(new MenuItem("New... "));

         file.add(new MenuItem("0pen"));


         file.add(new MenuItem("Close"));
         file.add(new MenuItem("-"));
    //   file.add(new MenuItem("Quit..."));
         MenuItem Quit = new MenuItem("Quit...");
         file.add(Quit);
            Quit.addActionListener(new ActionListener(){
              public void actionPerformed(ActionEvent e){
                   System.exit(0);   
                     } 
                  }); 
                    
         mbar.add(file);
         Menu edit = new Menu("Edit");
         edit.add(new MenuItem("Cut"));
         edit.add(new MenuItem("Copy"));
         edit.add(new MenuItem("-"));
         Menu sub = new Menu("Blocks");

         MenuItem First1 = new MenuItem("Logic Blocks");
         sub.add(First1);
         
         First1.addActionListener(new ActionListener(){
           public void actionPerformed(ActionEvent e){
            
          //  System.exit(0);   
         //  class Bloki extends Frame{
         //    Bloki (String s){
         //    super (s);       
             Frame d = new Frame("Logic Blocks"); 
         
          //   Panel p1 = new Panel();
             d.setLayout(new GridLayout(2, 2));
             l1 = new Label("111111");
             l1.setBackground(Color.green);
             d.add(l1);
             l2 = new Label("222222");
             l2.setBackground(Color.gray);
             d.add(l2);
             l3 = new Label("333333");
             l3.setBackground(Color.red);
             d.add(l3);
             l4 = new Label("444444");
             l4.setBackground(Color.blue);
             d.add(l4);
                                            
            
             d.setSize(150, 150);
             d.setVisible(true);

                //  }    
                
               d.addWindowListener(new WindowAdapter(){
               public void windowClosing(WindowEvent ev){
                System.exit(0);
                          }
                      }); 
                    } 
                  }    
           
          //      }
 
                     ); 
                

         sub.add(new MenuItem("First"));
         sub.add(new MenuItem("Second"));
         sub.add(new MenuItem("Third"));
         edit.add(sub);

         edit.add(new CheckboxMenuItem("Testing"));

         mbar.add(edit);
         show();
  
         
          this.setLayout(null);

    /*    b1 = new Label("1");    
        b1.setBounds(40, 300, 60, 60);
        b1.setBackground(Color.gray);
        add(b1); */
        
        label = new Label("Label Test");
        label.setBounds(40, 100, 200, 100);
        label.setBackground(Color.red);
        add(label);

        label.setText("setText work"); 
//        label.addMouseMotionListener(this);
        l1.addMouseMotionListener(this);
        l1.addMouseListener(this);
    }

    public void mousePressed(MouseEvent e) {}
    public void mouseClicked(MouseEvent e)  {}
    public void mouseEntered(MouseEvent e) {}
    public void mouseExited(MouseEvent e) {}

    public void mouseReleased(MouseEvent e)
    {
        click_X = -1;
        click_Y = -1;
    }

    public void mouseMoved(MouseEvent e)
    {
        label.setText("mouseMoved: (" + e.getX() + "; "
             + e.getY() + ")");
    }

    public void mouseDragged(MouseEvent e)
    {
       
        if (click_X == -1)
        {
            click_X = -e.getX();
        }

        if (click_Y == -1)
        {
            click_Y = -e.getY();
        }

        label.setText("mouseDragged: (" + e.getX() + "; "
            + e.getY() + ")");        
      //  getButton;
     //   label.setBounds(40 + e.getX(), 40 +e.getY(), 100, 100);
        
        l1.setBounds(click_X + l1.getX() + e.getX(), click_Y + l1.getY() + e.getY(), 60, 60);

         } 
          
         public static void main(String[] args){
                   Frame f = new Menuu("Simulink");
                   f.setVisible(true);
                   f.addWindowListener(new WindowAdapter(){
                   public void windowClosing(WindowEvent ev){
                   System.exit(0);
                          }
                      });

             }     }
             
                     


Никак не могу сделать, чтобы лэйбл l1 перемещать по экрану (в окне f). Нужна помощь smile smile
PM MAIL   Вверх
Domestic Cat
Дата 10.4.2005, 22:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

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



Можно вопрос - для чего это нужно? Именно лейбл нужно перемещать?


--------------------

PM   Вверх
Modelator
Дата 11.4.2005, 00:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Да, лэйбл (ну или Button)... по курсовому прогу делаю (ну или пытаюсь smile )... Что-то вроде второго симулинка (в перспективе) надо сделать. Сначала научится перемещать, потом команды каждому (лейблу, блоку)...
PM MAIL   Вверх
Domestic Cat
Дата 11.4.2005, 05:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

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



Код

import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.applet.*;
                                     
public class Menuu extends Frame implements MouseMotionListener, MouseListener{           //1
     
    Label label;
    Label b1;
    Label l1, l2, l3, l4;
    int x, y;
    int click_X = -1;
    int click_Y = -1;
      
      public Menuu(String s){     //2
       super(s);
         setSize(400, 400);
         MenuBar mbar = new MenuBar();
         setMenuBar(mbar);
         Menu file = new Menu("File");
         file.add(new MenuItem("New... "));
         file.add(new MenuItem("0pen"));
         file.add(new MenuItem("Close"));
         file.add(new MenuItem("-"));
    //   file.add(new MenuItem("Quit..."));
         MenuItem Quit = new MenuItem("Quit...");
         file.add(Quit);
            Quit.addActionListener(new ActionListener(){
              public void actionPerformed(ActionEvent e){
                   System.exit(0);   
                     } 
                  }); 
                    
         mbar.add(file);
         Menu edit = new Menu("Edit");
         edit.add(new MenuItem("Cut"));
         edit.add(new MenuItem("Copy"));
         edit.add(new MenuItem("-"));
         Menu sub = new Menu("Blocks");
         MenuItem First1 = new MenuItem("Logic Blocks");
         sub.add(First1);
         final Menuu f = this;
         First1.addActionListener(new ActionListener(){
           public void actionPerformed(ActionEvent e){
            
          //  System.exit(0);   
         //  class Bloki extends Frame{
         //    Bloki (String s){
         //    super (s);       
             Frame d = new Frame("Logic Blocks"); 
         
          //   Panel p1 = new Panel();
             d.setLayout(new GridLayout(2, 2));
             l1 = new Label("111111");
             l1.setBackground(Color.green);
             d.add(l1);
             l2 = new Label("222222");
             l2.setBackground(Color.gray);
             d.add(l2);
             l3 = new Label("333333");
             l3.setBackground(Color.red);
             d.add(l3);
             l4 = new Label("444444");
             l4.setBackground(Color.blue);
             d.add(l4);
                                            
            l1.addMouseMotionListener(f);
         l1.addMouseListener(f);
             d.setSize(150, 150);
             d.setVisible(true);
                //  }    
                
               d.addWindowListener(new WindowAdapter(){
               public void windowClosing(WindowEvent ev){
                System.exit(0);
                          }
                      }); 
                    } 
                  }    
           
          //      }
 
                     ); 
                
         sub.add(new MenuItem("First"));
         sub.add(new MenuItem("Second"));
         sub.add(new MenuItem("Third"));
         edit.add(sub);
         edit.add(new CheckboxMenuItem("Testing"));
         mbar.add(edit);
         show();
  
         
          this.setLayout(null);
    /*    b1 = new Label("1");    
        b1.setBounds(40, 300, 60, 60);
        b1.setBackground(Color.gray);
        add(b1); */
        
        label = new Label("Label Test");
        label.setBounds(40, 100, 200, 100);
        label.setBackground(Color.red);
        add(label);
        label.setText("setText work"); 
//        label.addMouseMotionListener(this);
        
    }
    public void mousePressed(MouseEvent e) {}
    public void mouseClicked(MouseEvent e)  {}
    public void mouseEntered(MouseEvent e) {}
    public void mouseExited(MouseEvent e) {}
    public void mouseReleased(MouseEvent e)
    {
        click_X = -1;
        click_Y = -1;
    }
    public void mouseMoved(MouseEvent e)
    {
        label.setText("mouseMoved: (" + e.getX() + "; "
             + e.getY() + ")");
    }
    public void mouseDragged(MouseEvent e)
    {
       
        if (click_X == -1)
        {
            click_X = -e.getX();
        }
        if (click_Y == -1)
        {
            click_Y = -e.getY();
        }
        label.setText("mouseDragged: (" + e.getX() + "; "
            + e.getY() + ")");        
      //  getButton;
     //   label.setBounds(40 + e.getX(), 40 +e.getY(), 100, 100);
        
        l1.setBounds(click_X + l1.getX() + e.getX(), click_Y + l1.getY() + e.getY(), 60, 60);
         } 
          
         public static void main(String[] args){
                   Frame f = new Menuu("Simulink");
                   f.setVisible(true);
                   f.addWindowListener(new WindowAdapter(){
                   public void windowClosing(WindowEvent ev){
                   System.exit(0);
                          }
                      });
             }     }



--------------------

PM   Вверх
Royan
Дата 11.4.2005, 12:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Dreamer
***


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

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



Я конечно не знаю, помгло ли это Modelator'у но у меня не заработало, по крайней мере ничего не двигалось.


--------------------
Открыта вакансия Junior Java Developer'а в нашем лондонском офисе, подробнее можно узнать здесь
PM MAIL MSN   Вверх
Domestic Cat
Дата 11.4.2005, 18:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

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



Там нужно в меню выбрать некий пункт, чтоб показалось окошко с 4 цветными лейблами. Вот один из них и будет двигаться.


--------------------

PM   Вверх
Modelator
Дата 11.4.2005, 18:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Спасибо огромное, сейчас опробую!!!
PM MAIL   Вверх
unkis
Дата 11.4.2005, 21:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



smile
ребята а есть какой-нибудь способ быстро запустить этот код, может для этого ант и используется?
а то я каждый раз создаю проект в jbuilder потом новый класс и т.д вообщем долго.

может можно быстрее.



--------------------
www.unkis.com
PM MAIL WWW   Вверх
Domestic Cat
Дата 11.4.2005, 21:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

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



Копируешь в файл с названием <ТвойКласс>.java из коммандной строки компилишь

javac <ТвойКласс>.java

и запускаешь

java <ТвойКласс>



--------------------

PM   Вверх
unkis
Дата 11.4.2005, 22:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



после того как я его компилю как ты сказал

javac <ТвойКласс>.java

появляется очень много классов Menuu.class,Menuu$1.class,Menuu$1$2.class и так далее.

и когда я запускаю java Menuu.class, выдает ошиббку типа неможет найти маин метод


Добавлено @ 22:01
сейчас попробывал, не в тотал командоре запустить а в командной строке и всё заработало, странно.


--------------------
www.unkis.com
PM MAIL WWW   Вверх
batigoal
Дата 12.4.2005, 09:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

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



Menuu.class - это основной класс.
Menuu$1.class - это класс, который порождается таким кодом:
Код

Quit.addActionListener(new ActionListener(){
              public void actionPerformed(ActionEvent e){
                   System.exit(0);   
                     } 
                  }); 

Здесь у тебя создается внутренний класс, реализующий интерфейс ActionListener, причем класс этот - безымянный. Поэтому ему автоматически присваивается имя Menuu$1, Menuu$2 и т.д.


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0580 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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