我正在尝试获得一个工具提示,以显示任务的当前进度。所以,我想的是,工具提示文本的变化 而
显示工具提示。但是,当我调用时setToolTipText()
,显示的文本将保持不变,直到我从工具提示组件退出鼠标并再次输入。setToolTipText(null)
之前打电话不会改变任何事情。
实际上,即使在两次调用之间将工具提示重置为null时,它也不会自我更新。
到目前为止,我发现的唯一技巧是模拟鼠标移动事件并将其转发到TooltipManager上。这使他认为鼠标已移动并且必须重新放置工具提示。不漂亮,但是效率很高。
看一下这个演示代码,它以百分比显示从0到100的进度:
import java.awt.MouseInfo;
import java.awt.Point;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingUtilities;
import javax.swing.Timer;
import javax.swing.ToolTipManager;
public class TestTooltips {
protected static void initUI() {
JFrame frame = new JFrame("test");
final JLabel label = new JLabel("Label text");
frame.add(label);
frame.pack();
frame.setVisible(true);
Timer t = new Timer(1000, new ActionListener() {
int progress = 0;
@Override
public void actionPerformed(ActionEvent e) {
if (progress > 100) {
progress = 0;
}
label.setToolTipText("Progress: " + progress + " %");
Point locationOnScreen = MouseInfo.getPointerInfo().getLocation();
Point locationOnComponent = new Point(locationOnScreen);
SwingUtilities.convertPointFromScreen(locationOnComponent, label);
if (label.contains(locationOnComponent)) {
ToolTipManager.sharedInstance().mouseMoved(
new MouseEvent(label, -1, System.currentTimeMillis(), 0, locationOnComponent.x, locationOnComponent.y,
locationOnScreen.x, locationOnScreen.y, 0, false, 0));
}
progress++;
}
});
t.start();
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
initUI();
}
});
}
}
我在我的类的构造函数中使用了这段代码。 当鼠标进入时,println语句会打印到控制台,但其他两个工具提示方法不会显示相关的工具提示。这里的combobox是swing combobox的一个实例字段。settooltip方法不显示工具提示的原因是什么?
我是Angular和Antd的新手,正在尝试在Antd图标上实现一个简单的工具提示。根据https://ng.ant.design/components/tooltip/en中给出的示例,代码看起来是正确的,虽然我确实得到了预期的图标,但悬停在它上面并不会显示工具提示。 在我的app.module.ts文件中: 在我的声明数组中: 并且在我的导入数组中: 最后,这里是我的tooltip.compo
我在使用mousemove事件显示工具提示时遇到了一些麻烦。基本上,当我的鼠标指针在图片框的某些区域上时,我想显示一个工具提示。我试图使用mousemove事件来完成此操作,确定阉羊指针位于最佳位置,并(如果是这样)使用settools tip设置工具提示。 这是我的mousemove事件(我注意到,当显示工具提示时,mousemove会持续触发,我会检查位置是否真的发生了变化) 这工作正常,除了
我正在用chart.js实现一些点图。没有问题,但我想做的是有一个工具提示,不只是附加到给定的数据点。现在,您可以创建一个工具提示,它将在图表上给定数据点附近显示一个弹出窗口。例如,如果我有数据点[1,5]、[2,6]和[3,7],它将很高兴地显示这三个数据点。 但我想要的是,当我在1,5到2,6之间时,看看我在x轴上的确切位置。1.5,1.6等。 但这是x和y在画布上的位置,与实际的x和y图形坐
是否有一种方法可以使jfreechart数据点中的tooltip显示得更快?以下是我如何自定义工具提示:
本文向大家介绍Java动态显示当前日期和时间,包括了Java动态显示当前日期和时间的使用技巧和注意事项,需要的朋友参考一下 Java 动态显示当前系统的日期、时间;如图所示: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。