2013-04-28 2 views
1

Вот это:Java - Как добавить элемент в DefaultListModel между двумя другими?

btnInsertL.addActionListener(new ActionListener() { 

     @Override 
     public void actionPerformed(ActionEvent arg0) { 
      String textField1Content = textField1.getText(); 
      if (textField1.getText().contains("Nova Categoria")) { 
      } else { 
       modelL.addElement(textField1Content); 
      } 
     } 
    }); 

Очевидно, что, когда я нажимаю в этом «btnInsertL», он добавляет в список новый элемент по имени textField1. Но при этом у нас есть тонкая проблема, если мы хотим, чтобы процесс был более «динамическим»:

Он всегда добавляет новый элемент в конец списка, игнорируя выбор. Как я могу добавить новый элемент в соответствии с уже выбранным элементом? Я предполагаю, что это включает в себя элемент-индексы DefaultListModel.

Element 1 
Element 2 
Element 3 

Предположим, что выбран «Элемент 2». Когда я нажимаю на «btnInsertL», я хочу, чтобы элемент ЧЕТВЕРТАЯ шел между элементом 2 и элементом 3.

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

ответ

3

Вы проверили JavaDocs правильно?

Посмотрите на DefaultListModel.add(int, E)

+0

спасибо! Извините, новичок ошибки :). Я отвечу на ответ на свой код и затем дам вам правильный ответ. Благодаря! –

1

Проверьте DefaultListModel.add(int, E) и использовать getSource() метод ActionEvent, чтобы увидеть, какая кнопка была выбрана.

1

Благодаря MadProgrammer я нашел ответ:

btnInsertL.addActionListener(new ActionListener() { 

     @Override 
     public void actionPerformed(ActionEvent arg0) { 
      String textField1Content = textField1.getText(); 
      if (textField1.getText().contains("Nova Categoria")) { 
      } else { 
       modelL.add(listL.getSelectedIndex() + 1,textField1Content); 
      } 
     } 
    }); 

Проблема больше чем решена! :).

Смежные вопросы