У меня есть пара JList
и JTextArea
. В зависимости от выбранного элемента на JList
данные будут отображаться в JTextArea. Но для некоторых данных необходимы пользовательские данные, которые собираются JOptionPane
. Проблема в том, что я пересекаю JList
со стрелками вверх и вниз ; * JOptionPane
всплыло; выбраны оба последовательных элемента. Я имею в виду, что ранее выбранные данные не становятся невыбранными, а предполагается, что будут выбраны только последние данные. Я использую JOptionPane
внутри changeTextArea()
метода, а Code выглядит следующим образом. Спасибо за любую помощь!
private class JListListenerEdit implements ListSelectionListener {
public void valueChanged(ListSelectionEvent event) {
if (!event.getValueIsAdjusting() && listEdit.isFocusOwner()) {
Data selection = null;
try {
selection = listEdit.getSelectedValue();
} catch (Exception e) {
}
if (null != selection) {
changeTextArea(selection);
}
}
}
}
public void changeTextAreaEditData(SData selection) {
if (selection.requireInputs()) {
JOptionPane.showMessageDialog(frame,"Provide inputs to process the data.","Inputs Required", JOptionPane.INFORMATION);
this.textAreaEditData.setText(processData(selection.getData()));
} else {
this.textAreaEditData.setText(selection.getData());
}
}