我一直试图解决这个问题很长时间,而且我自己也找不到解决方案,谷歌也没有。
首先,这是我在图形用户界面上的内容: gui image
我想要做的是:当我在其中一个logotipos中按鼠标时,我想在我按下鼠标的同时打开一个窗口。当我停止按下它时,窗口关闭。
这就是我的代码:
lblAwayTeamPic.addMouseListener(new MouseAdapter() {
TeamRosterDialog teamWindow = null;
@Override
public void mousePressed(MouseEvent e){
teamWindow = new TeamRosterDialog(SelectTeamsUI.this, "Cleveland Cavaliers", "2017/2018");
}
@Override
public void mouseReleased(MouseEvent e){
if(teamWindow != null)
teamWindow.dispose();
}
});
他正在检测每个鼠标事件,因为我已经尝试过打印" Pressed" &安培; "发行日期"在每种方法中。但是,当我使用Dialog实现时,他打开它,但dispose()不起作用:\
我认为正在做teamWindow.setVisible(false)
,但我并不认为这是一种可行的方法,因为如果我没有弄错的话,它会消耗内存。
如果你需要,我可以给你更多代码,但主要问题在这里,我想是的。如果需要上下文,则此MouseListener位于组合框ActionListener中(要在选择时更改名称)。