Я сейчас в неловкой ситуации, и поэтому я здесь, чтобы получить совет специалиста. У меня есть Editable JComboBox
. У меня есть событие actionPerformed
, которое отлично работает. Но у меня есть реализация mouseListener
, которая не работает.
component = jcbItemType.getEditor().getEditorComponent();
component.addMouseListener(new java.awt.event.MouseListener() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jcbItemTypeMouseClicked(evt);
}
public void mousePressed(java.awt.event.MouseEvent evt) {
jcbItemTypeMousePressed(evt);
}
public void mouseReleased(java.awt.event.MouseEvent evt) {
jcbItemTypeMouseReleased(evt);
}
public void mouseExited(java.awt.event.MouseEvent evt) {
jcbItemTypeMouseReleased(evt);
}
public void mouseEntered(java.awt.event.MouseEvent evt) {
jcbItemTypeMouseReleased(evt);
}
});
Я также пробовал следующий код:
Component[] comps = jcbItemType.getComponents();
for(int i = 0; i < comps.length; i++)
{
comps[i].addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jcbItemTypeMouseClicked(evt);
}
public void mousePressed(java.awt.event.MouseEvent evt) {
jcbItemTypeMousePressed(evt);
}
public void mouseReleased(java.awt.event.MouseEvent evt) {
jcbItemTypeMouseReleased(evt);
}
public void mouseExited(java.awt.event.MouseEvent evt) {
jcbItemTypeMouseReleased(evt);
}
public void mouseEntered(java.awt.event.MouseEvent evt) {
jcbItemTypeMouseReleased(evt);
}
});
}
Я знаю, что JComboBox
является составным элементом и, следовательно, событие прямой обработки мыши не будет работать. Но я использовал mouseListener
отдельного компонента, но он тоже не работает.
Кто-то может спросить о событии stateChanged
, но я хочу загрузить некоторую информацию после того, как элемент полностью выбран, а НЕ когда я просто набираю 2/3 символа элемента. В событии stateChanged
он сильно загружается, если показывает информацию об элементе только после 2/3 символов, поскольку моя информация по каждому элементу имеет большой вес.
Итак, как я могу получить событие, когда элемент выбран щелчком мыши?