Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: GUI и Java FX приложения > use setenabled


Автор: outcast11 29.10.2005, 20:11
Задание:Написать Java-приложение, с использованием стандартных компонент библиотеки AWT
из пакета java.awt (Button,List с 5 элементами). При выборе 3-его элемента кнопка
становится недоступной, а при выборе 5-ого элемента - активной. Для реакции на
выделение элементов списка воспользуейтесь интерфейсом слушателя ItemListener и
методом getSelectedIndex() класса List. Самостоятельно определите, какой метод нужно
использовать для активизации кнопки.
Вроде не сложноо,но что-то никак подробной инфо не найду как использовать itemlistener с листом smile

Автор: batigoal 29.10.2005, 22:36
Видимо, он должен вешаться не на список в целом, а накаждый отдельный элемент. Поэкспериментируй.

Автор: AntonSaburov 31.10.2005, 15:44
Да нормально все работает.

Код

import java.awt.*;
import java.awt.event.*;

public class TestForm extends Frame implements ItemListener
{
  private Button m_button = new Button("Test");
  private List m_list = new List(5);

  public TestForm()
  {
    setLayout(new BorderLayout());

    add(m_button, BorderLayout.NORTH);

    m_list.add("1");
    m_list.add("2");
    m_list.add("3");
    m_list.add("4");
    m_list.add("5");

    add(m_list, BorderLayout.CENTER);
    m_list.addItemListener(this);

    setBounds(100,100,200,200);
  }

  public static void main(String[] args)
  {
    TestForm tf = new TestForm();
    tf.show();
  }

  public void itemStateChanged(ItemEvent e)
  {
    if(m_list.getSelectedIndex()==2) {
      m_button.setEnabled(false);
    }
    if(m_list.getSelectedIndex()==4) {
      m_button.setEnabled(true);
    }
  }
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)