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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> передать значение ползунка в другой класс 
:(
    Опции темы
Fantik
Дата 30.12.2007, 19:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Вобщем есть ползунок и есть график, который строится по определенной формуле, допустим синус и при этом учитывается значение ползунка. Т.е. меняя значение ползунка, мы меняем частоту и график автоматически перерисовуется. Проблема в том, что в формулу передается только начальное значение ползунка, а при его перемещении никакой реакции нет. Подскажите как правильно передать значение.

Код

class SliderFrame extends JFrame
{
    public SliderFrame()
    { 
        sliderPanel = new JPanel();
        listener = new ChangeListener()
        {
         public void stateChanged(ChangeEvent event)
         {
             JSlider source = (JSlider)event.getSource();
             
         }
        };
        JSlider slider = new JSlider();
        addSlider(slider,"Частота");
       
        graficPanel = new grafic(this);
        Container contentPane=getContentPane();
        contentPane.add(sliderPanel,BorderLayout.NORTH);
        contentPane.add(graficPanel);
        chastota = slider.getValue();
    }
    
    public void addSlider(JSlider s, String description)
    {
     s.addChangeListener(listener);
     JPanel panel = new JPanel();
     panel.add(s);
     panel.add(new JLabel(description));
     sliderPanel.add(panel);
    }
    private JPanel sliderPanel;
    private JPanel graficPanel;
    public  int chastota;
    public int getChastota()
    {
        return chastota;
    }
}
class grafic extends JPanel
{
    public SliderFrame parent;
    public grafic(SliderFrame p)
    {
        parent=p;
        
    }
    
    public void paintComponent (Graphics g)
    {
     .....
     int s = parent.getChastota();
            ......
    }
}

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


AA - Aussie Animal
****


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

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



Fantik, посмотрите туториал sun. Там пример использования slider'a


--------------------
Lost....
PM MAIL MSN   Вверх
dorogoyIV
Дата 31.12.2007, 01:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Код

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

class SliderFrame extends JFrame
                  implements ChangeListener
{
 int chastota=0;
 JSlider slider = new JSlider(0, 100, 0);

 SliderFrame()
 { 
  setBounds(100,100,400,300);
  JPanel north=new JPanel();
  north.add(slider);
  north.add(new JLabel("Частота"));
  add(north, "North");

  Grafic graf=new Grafic(this);
  add(graf);

  slider.addChangeListener(this);
 }

 public void stateChanged(ChangeEvent e)
 {
  chastota=slider.getValue();
  repaint();
 }

 public static void main(String [] args)
 {
  JFrame f=new SliderFrame();
  f.setVisible(true);
  f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 }
}

class Grafic extends JPanel
{
 public SliderFrame parent;

 public Grafic(SliderFrame p)
 {
  parent = p;
 }

 public void paintComponent(Graphics g)
 {
  super.paintComponent(g);
  Graphics2D g2=(Graphics2D)g;
  g2.setFont(new Font("Serif", Font.BOLD, 20));
  g2.drawString(parent.chastota + "", 50, 50);
 }
}


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


Новичок



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

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



Всем спасибо, разобрался в чем ошибся

ЗЫ С новым годом!  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.0429 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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