私はこのリスナーをコーディングしました:
playlistTable.addMouseListener(new MouseAdapter() {
private boolean ignoreDoubleClicks = false;
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() == 2 && !ignoreDoubleClicks) {
this.ignoreDoubleClicks = true;
System.out.println(ignoreDoubleClicks);
JTable target = (JTable)e.getSource();
int row = target.getSelectedRow();
videoTableModel = new VideoTableModel(playlistService.getMoviesOfPlaylist(row));
target.setModel(videoTableModel);
//TODO enables the table
//movieTable.setEnabled(false);
createPlaylist.setEnabled(false);
setButtonIcon("icons\\playlist_grau.png", createPlaylist, "createPlaylist");
removePlaylist.setEnabled(false);
setButtonIcon("icons\\bin_grau.png", removePlaylist, "removePlaylist");
algoButton.setEnabled(false);
setButtonIcon("icons\\glyphicons_137_cogwheels_grau.png", algoButton, "algoButton");
// playlistTable.setEnabled(false);
revalidate();
}
}
});
ただし、最初にプレイリストをダブルクリックすると、映画が表示されます。別のボタンで戻ってプレイリストテーブルをもう一度ダブルクリックすると、クリックできなくなります。なんで?
アップデート
問題は this.ignoreDoubleClicks = true;
、しかし、なぜそれがfalseに設定されていないのですか?