setToolTipText未显示工具提示

3

我在我的类的构造函数中使用了这段代码。

     public CheckComboBox()
     {   
       comboBox.addMouseListener(new MouseAdapter() {

        @Override
        public void mouseEntered(MouseEvent mEvt) {
           comboBox.setToolTipText("lakshman");
            setToolTipText("laksman");
           System.out.println("lakshman");
        }
     });

当鼠标进入时,控制台会打印println语句,但其他两个tooltip方法没有显示相关的工具提示。这里combobox是swing combobox的一个实例字段。为什么settooltip方法不能显示工具提示?


1
调用 setToolTipText 方法并不会使工具提示出现,它只是指示工具提示应该显示什么文本。要使工具提示出现,您只需要将鼠标悬停在调用了 setToolTipText 方法的组件上即可。 - Guillaume Polet
1
为了更快地获得帮助,请发布一个SSCCE。为什么要在鼠标进入时设置工具提示?我怀疑工具提示需要鼠标事件不被消耗,以便知道何时弹出。 - Andrew Thompson
@gullium:你的意思是我应该把鼠标移到组件上吗?如果是的话,我已经这样做了。但它没有显示出来。 - lakshman
1
@lakshman 为了更快得到更好的帮助,请发布一个SSCCE - Guillaume Polet
@Alya:不是的。我想要像gullium说的那样,在鼠标悬停在组件上时显示工具提示。我认为我在使用mouseListener方面犯了错误,就像andrew所说的那样。我会检查它并做出回应。谢谢大家。 - lakshman
显示剩余3条评论
1个回答

1

这应该是你的A类,包含主方法

     public class A {
     public static void main(String args[]){

        form f=new form();
        f.setSize(300,300);
        f.setDefaultCloseOperation(form.EXIT_ON_CLOSE);
        f.setVisible(true);
         }

      }

这应该是包含组件的类:

public class form extends JFrame{

public form(){
    Panel p=new Panel();
    final JButton b=new JButton("button");

    p.add(b);
    this.add(p);


    b.addMouseListener(new MouseAdapter() {

            public void mouseEntered(MouseEvent mEvt) {
       b.setToolTipText("lakshman");

    }

});
}
}

在类表单中必须导入的内容包括:

  import java.awt.Panel;
   import java.awt.event.MouseAdapter;
  import java.awt.event.MouseEvent;
 import javax.swing.JButton;
 import javax.swing.JFrame;

现在试试吧,Lakshman兄弟!

/////////////////!!!!!!!!!/////////////////////////////

(还有一件事,这个表单类可以简化为)

public class form extends JFrame{

public form(){
    Panel p=new Panel();
    final JButton b=new JButton("button");
    b.setToolTipText("HELLO");
    p.add(b);
    this.add(p);



}

}

没有必要使用actionListener来显示setToolTipText,因为只需通过调用要显示的组件对象的引用即可添加它。谢谢。


你的代码运行良好,我的也一样。但是我将那段代码添加到了执行路径中的许多代码之间。我认为出了些问题。我正在寻找原因。 - lakshman
如果解决了就好,否则你可以再问一次,谢谢。 - Tech Nerd
如果您在代码中发现了有用的东西,请标记为有用,以帮助其他人。 - Tech Nerd
Junaid:这就是为什么我点赞了它。但它还没有解决我的问题。 - lakshman
如果你还有问题,可以展示你的代码,这样可以帮助你。 - Tech Nerd

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接