同じJPanelに属する2つのJList、jltCategoriesとjltSubcategoriesがあります。jltCategoriesをダブルクリックすると、jltSubcategoriesに対応するサブカテゴリが入力され、jltSubcategoriesがJPanelから削除され、追加されて再検証されます。
削除/追加した後でjltSubcategoriesをダブルクリックしても、何も発生しません。それでも、プログラムを開いてjltSubcategoriesをダブルクリックすると、マウスイベントが発生します。削除/追加されていない場合は発生しますが、削除/追加されている場合は発生しません。jltCategoriesについても同じです。削除/追加すると、起動が停止します。なんでそうなの?ありがとうございました!
jltCategories.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() > 1) {
jbtNavigate.doClick();
}
}
});
jltSubcategories.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() > 1) {
jbtLoad.doClick();
}
}
});
jbtNavigate.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String catName = jltCategories.getSelectedValue();
try {
jpLists.remove(jltSubcategories);
jltSubcategories = new JList<String>(SQL.populateSubcategories(catName));
jpLists.add(jltSubcategories);
jpLists.revalidate();
} catch (SQLException e1) {
e1.printStackTrace();
}
}
});
jbtLoad.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.out.println("Testing Testing 213");
}
});