私は今、厄介な状況にあるので、専門家のアドバイスを得るためにここにいます. 私は持ってい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 文字の後にのみアイテム情報を表示すると、負荷が高くなります。
では、アイテムがマウスクリックで選択されたときにイベントを取得するにはどうすればよいですか?