java - Jbutton setTooltip() 作为 ImageIcon?

标签 java swing tooltip jbutton imageicon

我环顾四周并查看了这里的各种主题。我发现最接近我正在尝试做的事情的是这个:

Hovering over JButtons and displaying a message

基本上我正在尝试替换button.setToolTipText("");与一个图像图标。我将其用作您将要在 JFrame 中访问的下一页的预览,以便为用户提供下一页的想法或快速概述。 (我已经弄清楚了成像,只是没有弄清楚工具提示)。

这是我根据我在各个线程中看到的内容尝试使用的内容,但显然它不起作用,因此我问这个问题。

我使用的代码:Log.setToolTip(new ImageIcon(getIconLog));

最佳答案

您可以使用 MouseListenerJLabel 作为工具提示。像这样...

public static void main(String[] args){
     final JFrame f = new JFrame();
     f.setSize(500, 400);
     f.setVisible(true);
     f.setLayout(null);
     f.setDefaultCloseOperation(3);

     final JButton b = new JButton("ToolTip");
     b.setBounds(100, 100, 70, 70);
     f.add(b);

     final JLabel toolTip = new JLabel();
     b.addMouseListener(new MouseListener() {

        @Override
        public void mouseReleased(MouseEvent e) {

        }

        @Override
        public void mousePressed(MouseEvent e) {

        }

        @Override
        public void mouseExited(MouseEvent e) {
            f.remove(toolTip);
            f.repaint();
        }

        @Override
        public void mouseEntered(MouseEvent e) {
            try {
                toolTip.setIcon(new ImageIcon(ImageIO.read(new File("your image"))));
            } catch (IOException e1) {
                e1.printStackTrace();
            }
            toolTip.setBounds(b.getLocation().x+b.getWidth(), b.getLocation().y-b.getHeight(), 100, 50);
            f.add(toolTip);
            f.repaint();
        }

        @Override
        public void mouseClicked(MouseEvent e) {

        }
    });

}

关于java - Jbutton setTooltip() 作为 ImageIcon?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20387404/

相关文章:

java - 不支持不必要地替换不存在的任务

java - 半透明 JFrame 边框

java - 如何使用 selendroid Web 驱动程序进行滑动手势?

java - 如何在 JText 组件中的不同插入符位置插入多个工具提示?

html - 如何将 Mat Tooltip 位置调整到屏幕中心?

java - 在try\finally block中有没有finally不执行的情况?

java - 从多个单元格中删除值

java - 在 Swing 中扩展 ActionListener 的 Action 接口(interface)的用途

Java:如何根据选择项目菜单或JTree节点来更改JPanel的内容?

css - 带内容的工具提示