Java 如何在将鼠标悬停在JList项上时显示JLabel?
我有一个JList:Java 如何在将鼠标悬停在JList项上时显示JLabel?,java,swing,Java,Swing,我有一个JList: comandaListModel = new SortedListModel<String>(); comandaListScrollPane = new JScrollPane(); comandaPanel.add(comandaListScrollPane, BorderLayout.CENTER); comandaList = new JList<String>(comandaListModel); c
comandaListModel = new SortedListModel<String>();
comandaListScrollPane = new JScrollPane();
comandaPanel.add(comandaListScrollPane, BorderLayout.CENTER);
comandaList = new JList<String>(comandaListModel);
comandaListScrollPane.setViewportView(comandaList);
JLabel在JList的
列表选择监听器的值Changed
上更新。如何在将鼠标悬停在JList的每个项目上时“弹出”JLabel?是否可以对JList实施此类“工具提示”功能?(通过“显示”一个JLabel,当然也可能意味着一个带有JLabel的JPanel)。您可以实现MouseAdapter来跟踪鼠标在执行某些操作时的动作
MouseAdaptor附带了5种MouseEvent方法,称为“mousePressed”、“MouseRelease”、“mouseEntered”、“mouseExited”和“mouseClicked”。
“mouseEntered”方法就是您要使用的方法
您还需要导入以下内容:
java.awt.event.MouseAdapter;
java.awt.event.MouseEvent;
在包含JList的类中创建构造函数,只需在其中添加以下代码:
addMouseListener(new MouseAdapter() {
@Override
public void mouseEntered(MouseEvent e) {
}
});
在mouseEntered方法中,应该调用updateQrCode方法。因此,每次鼠标进入列表时,JLabel都会更新
有关详细信息,请参阅此线程:
我希望这有帮助
addMouseListener(new MouseAdapter() {
@Override
public void mouseEntered(MouseEvent e) {
}
});