gpt4 book ai didi

java - 如何设置鼠标监听器使其无法在另一个表中单击?

转载 作者:行者123 更新时间:2023-12-02 00:04:26 25 4
gpt4 key购买 nike

我有一张带有播放列表的表。当我双击播放列表时,我会看到该播放列表的电影。

但是,当我双击电影时,我会得到一个空 table 。因此,我不想单击电影表。如何防止这种行为?

这是我的听众:

playlistTable.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() == 2) {

JTable target = (JTable)e.getSource();
int row = target.getSelectedRow();

videoTableModel = new VideoTableModel(playlistService.getMoviesOfPlaylist(row));
target.setModel(videoTableModel);

movieTable.setEnabled(true);

createPlaylist.setEnabled(false);
setButtonIcon("icons\\playlist_grau.png", createPlaylist, "createPlaylist");

removePlaylist.setEnabled(false);
setButtonIcon("icons\\bin_grau.png", removePlaylist, "removePlaylist");

playlistTable.setEnabled(false);

revalidate();

}
}
});

感谢您的回答。

最佳答案

要么从表中删除鼠标监听器,要么设置一个标志以使监听器不执行任何操作:

playlistTable.addMouseListener(new MouseAdapter() {
private boolean ignoreDoubleClicks = false;

public void mouseClicked(MouseEvent e) {
if (e.getClickCount() == 2 && !ignoreDoubleClicks) {
JTable target = (JTable)e.getSource();
target.removeMouseListener(this);

playlistTable.addMouseListener(new MouseAdapter() {
private boolean ignoreDoubleClicks = false;

public void mouseClicked(MouseEvent e) {
if (e.getClickCount() == 2 && !ignoreDoubleClicks) {
ignoreDoubleClicks = true;
...

关于java - 如何设置鼠标监听器使其无法在另一个表中单击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14172577/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com