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

Поиск:

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


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

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



Вообщем я совсем нуб в Яве...smile но нарыл, что:
Код
public boolean action(Event event, Object arg)
   {
     repaint();
     return true;
   }

"перерисовывает" окно...
Недолго думая написал первую аплет: http://www.opik.ru/java/1/
Суть: первые 2 поля вводишь числа, в 3-ем их сумма, ну так что бы нарисовалась сумма надо свернуть и развернуть окно, почему это не делается в реальном времени. т.е моментально? smile
PM MAIL Skype   Вверх
Domestic Cat
Дата 28.12.2004, 20:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Я ниче не понял smile Можно на код посмотреть? Апплет не работает.


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

PM   Вверх
Opik
Дата 28.12.2004, 20:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

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



Код
import java.applet.*;
import java.awt.*;

public class untitled3 extends Applet {

 TextField TextField1;
 Label Label1;

 TextField TextField2;
 Label Label2;

 TextField summa;
     
  public void init() {
      Label1 = new Label("x");
      add(Label1);

      TextField1 = new TextField(5);
      add(TextField1);
     
      Label2 = new Label("y");
      add(Label2);

      TextField2 = new TextField(5);
      add(TextField2);
     
      summa = new TextField(5);
      add(summa);
     
      TextField1.setText("0");
      TextField2.setText("0");  
      summa.setText("0");    

   }
   public void paint(Graphics g){
    String x = TextField1.getText();
    String y = TextField2.getText();    
    int int_x = Integer.parseInt(x);
    int int_y = Integer.parseInt(y);
    int ts;    
    if(int_x != 0 || int_y != 0){
  ts = int_x + int_y;
    } else {
  ts = 0;
    }
    String ehh = String.valueOf(ts);
    summa.setText(ehh);

   }
   
   public boolean action(Event event, Object arg)
   {
     repaint();
     return true;
   }
}

Как это не работает, если работает? smile


Добавлено @ 20:31
Мне нужен эффект от нажатия Enter после ввода числа...
PM MAIL Skype   Вверх
TrivialCore
Дата 28.12.2004, 20:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



надо добавить этот как его.. KeyListener.
Можно вешать на text field-ы, а можно (быстрее для написания, поэтому напишу) повесить ActionListener на кнопку.
Код

import java.applet.*;
import java.awt.*;

public class untitled3 extends Applet {

 TextField TextField1;
 Label Label1;

 TextField TextField2;
 Label Label2;

 TextField summa;

  Button buttonSum;
     
  public void init() {
      Label1 = new Label("x");
      add(Label1);

      TextField1 = new TextField(5);
      add(TextField1);
     
      Label2 = new Label("y");
      add(Label2);

      TextField2 = new TextField(5);
      add(TextField2);
     
      summa = new TextField(5);
      add(summa);

      buttonSum = new Button("Sum!");
      buttonSum.addActionListener(new ActionListener() {
             public void actionPerformed(ActionEvent e) {
                    repaint();
             }
      }
      add(buttonSum);
     
      TextField1.setText("0");
      TextField2.setText("0");  
      summa.setText("0");    

   }
   public void paint(Graphics g){
    String x = TextField1.getText();
    String y = TextField2.getText();    
    int int_x = Integer.parseInt(x);
    int int_y = Integer.parseInt(y);
    int ts;    
    if(int_x != 0 || int_y != 0){
  ts = int_x + int_y;
    } else {
  ts = 0;
    }
    String ehh = String.valueOf(ts);
    summa.setText(ehh);

   }
   
   public boolean action(Event event, Object arg)
   {
     repaint();
     return true;
   }
}
Типа того
Добавлено @ 20:39
Вообще твой метод action() ниоткуда не вызывается - зачем он?
Добавлено @ 20:41
Да, надо заимпортировать java.awt.event.ActionEvent

Это сообщение отредактировал(а) TrivialCore - 28.12.2004, 20:41
PM MAIL   Вверх
Domestic Cat
Дата 28.12.2004, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(TrivialCore @ 28.12.2004, 11:39)
Вообще твой метод action() ниоткуда не вызывается - зачем он?


action тут не нужен конечно


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

PM   Вверх
Opik
Дата 28.12.2004, 20:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

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



Цитата
Да, надо заимпортировать java.awt.event.ActionEvent

а разве не подойдет?
Код

import java.awt.*;

Да и начиная со строки:
buttonSum.addActionListener(new ActionListener() {
начинаются руганья)))
Добавлено @ 20:49
Domestic Cat
ок, не нужен, так не нужен)))
PM MAIL Skype   Вверх
Oracle
Дата 28.12.2004, 20:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Не подойдет......
Нужно именно import java.awt.event.*;
Так как ActionListener в java.awt.event
PM MAIL   Вверх
Opik
Дата 28.12.2004, 20:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

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



Цитата
import java.awt.event.*;

руганий больше нет, кроме:
add(buttonSum);
Цитата

Сall arguments missing )

ток не наю почему...
PM MAIL Skype   Вверх
Domestic Cat
Дата 28.12.2004, 20:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



А какой конкретно иксепшн и на какой строке?


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

PM   Вверх
Opik
Дата 28.12.2004, 20:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

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



Какой кто? smile)
строка 32: add(buttonSum);

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


Эксперт
****


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

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



Ну иксепшн какой? Как конкретно ругается?


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

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


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

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



Омг... я что ли такой дурак smile))
--Resize_Images_Alt_Text--
Добавлено @ 21:10
Нашел, не было: );
public void actionPerformed(ActionEvent e) {
repaint();
}
});
Добавлено @ 21:10
всем спасибо smile
PM MAIL Skype   Вверх
Opik
Дата 28.12.2004, 21:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

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



Убрал метод action - на Enter ноль эмоций...
PM MAIL Skype   Вверх
Domestic Cat
Дата 28.12.2004, 21:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



У тебя должна быть реакция на клик по кнопке "Sum", а для обработки клавиш нужно добавить KeyListener.


Добавлено @ 21:56
Код

addKeyListener(new KeyListener()
{
    public void keyPressed(KeyEvent ke)
    {
            if (ke.getKeyCode() == KeyEvent.VK_ENTER)
                    repaint();
    }
    public void keyReleased(KeyEvent ke)
    {}
    public void keyTyped(KeyEvent ke)
    {}
}
);


Это сообщение отредактировал(а) Domestic Cat - 28.12.2004, 21:56


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

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


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

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



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

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

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


 




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


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

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