import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
public class HoverPopupExample {
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
// Create a JFrame for the main application window
JFrame frame = new JFrame("Hover Popup Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 300);
// Create a panel to hold the components
JPanel panel = new JPanel();
panel.setLayout(new FlowLayout());
// Create a label with a tooltip
JLabel label = new JLabel("Hover over me");
label.setToolTipText("This is a tooltip");
// Add the mouse listeners to the label
label.addMouseListener(new MouseAdapter() {
@Override
public void mouseEntered(MouseEvent e) {
// Show the pop-up message when the mouse enters the label
JOptionPane.showMessageDialog(frame, "This is a pop-up message");
}
@Override
public void mouseExited(MouseEvent e) {
// Close the pop-up message when the mouse exits the label
JOptionPane.getRootFrame().dispose();
}
});
// Add the label to the panel
panel.add(label);
// Add the panel to the frame
frame.add(panel);
// Display the frame
frame.setVisible(true);
}
});
}
}
1条答案
按热度按时间iyfjxgzm1#
要在Java应用程序中鼠标悬停在某些对象上时显示弹出消息,可以将mouseEntered()和mouseExited()事件侦听器沿着JOptionPane一起使用。下面是一个如何实现此目标的示例:
在本例中,我们创建一个JFrame作为主应用程序窗口,并创建一个JPanel来保存组件。在面板内部,我们创建一个JLabel并向其添加鼠标侦听器。当鼠标进入标签(mouseEntered()事件)时,我们使用JOptionPane.showMessageDialog()显示一条弹出消息。当鼠标退出标签(mouseExited()事件)时,我们通过释放JOptionPane的根框架来关闭弹出消息。
通过运行此示例,当您将鼠标悬停在标签上时,将显示一条弹出消息,并且当鼠标离开标签时,该消息将自动关闭。