Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 鼠标在标签上滚动时不显示文本_Java_Swing_Jlabel - Fatal编程技术网

Java 鼠标在标签上滚动时不显示文本

Java 鼠标在标签上滚动时不显示文本,java,swing,jlabel,Java,Swing,Jlabel,对于NetBeans(Java),我在JLabel中遇到了问题。我已指定一个图像作为该JLabel的图标 问题1: 我想在图标(图像)下方显示一些文本(例如-注销)。如何做到这一点 问题2: 我想在鼠标滚动到JLabel上时显示一些文本。我该怎么办 所以,请大家通过编写代码告诉我如何实现这些功能。我建议阅读基本的Oracle教程,其中详细介绍了如何实现这些功能。可以使用来确定鼠标何时滚动到JLabel上,并且可以通过设置其垂直文本位置(如中所述)将JLabel文本定位在JLabel图标下方。这一

对于NetBeans(Java),我在JLabel中遇到了问题。我已指定一个图像作为该JLabel的图标

问题1:

我想在图标(图像)下方显示一些文本(例如-注销)。如何做到这一点

问题2:

我想在鼠标滚动到JLabel上时显示一些文本。我该怎么办


所以,请大家通过编写代码告诉我如何实现这些功能。

我建议阅读基本的Oracle教程,其中详细介绍了如何实现这些功能。可以使用来确定鼠标何时滚动到JLabel上,并且可以通过设置其垂直文本位置(如中所述)将JLabel文本定位在JLabel图标下方。这一切都应该通过简单的互联网搜索你的问题来发现,你的问题表明在提问之前没有做过(也应该做过)

1。 创建一个包含两个
JLabel
s的
JPanel
。这样可以控制内部构件的布局

我使用
BoxLayout
和参数
BoxLayout.Y_AXIS
获得图标下方的标签

2. 使用方法
component.addMouseStener(新的MouseAdapter(){…})添加一个
MouseStener
,您需要创建一个

这是一个为你工作的例子,伙计。。。不管你需要怎样调整它

注意:您需要更改
ImageIcon()


你试了什么?显示您的代码。为什么要使用
MouseMotionListener
?为什么不干脆
setToolTipText(“任何op想要的东西”)
取决于op想要什么。是的,工具提示将在JLabel顶部覆盖文本,但这不是最初的要求(“在图标下方显示文本”)。MouseMotionListener提供了灵活性,不仅可以更改JLabel文本,还可以以其他方式进行响应。如果有帮助,请记住将此标记为答案!谢谢:-)嗨,加里。我是论坛的新手。所以我不知道如何在答案旁边的勾形图片上做标记。比如:
public static void main(String[] args) {

    JFrame frame = new JFrame();
    JPanel container = new JPanel();
    JPanel iconLabelPanel = new JPanel();

    String TEXT_FIELD_TEXT = "Hover over the logout label.";

    JLabel icon = new JLabel(new ImageIcon("C:\\Users\\Gary\\Google Drive\\Pictures\\puush\\ss (2015-02-19 at 06.00.00).png"));
    JLabel label = new JLabel("Logout!");
    JTextField textField = new JTextField(TEXT_FIELD_TEXT);

    //Add a mouse motion listener for the JLabel
    label.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseEntered(MouseEvent e) {
            //Set text of another component
            textField.setText("You're over Logout!");
        }

        @Override
        public void mouseExited(MouseEvent e) {
            //Set text of another component
            textField.setText(TEXT_FIELD_TEXT);
        }
    });


    //Add components and set parameters for iconLabelPanel
    iconLabelPanel.setLayout(new BoxLayout(iconLabelPanel, BoxLayout.PAGE_AXIS));
    iconLabelPanel.add(icon);
    iconLabelPanel.add(label);

    //Add components and set parameters for container
    container.setLayout(new BoxLayout(container, BoxLayout.PAGE_AXIS));
    container.add(iconLabelPanel);
    container.add(textField);

    //Set parameters for frame
    frame.add(container);
    frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    frame.setLocationRelativeTo(null);
    frame.setSize(400, 400);
    frame.setVisible(true);
}