java – 如何在Swing中设置工具提示的背景?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 如何在Swing中设置工具提示的背景?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2630字,纯文字阅读大概需要4分钟。
内容图文
![java – 如何在Swing中设置工具提示的背景?](/upload/InfoBanner/zyjiaocheng/725/25cf5017b81c445e91d1877d6a43d07b.jpg)
我正在开发一个Swing应用程序,我需要在其中显示JTree节点的工具提示.节点表示某些任务,并按顺序在独立线程中运行.我需要根据任务的当前状态更改工具提示.
我在扩展JTree的类中覆盖了getToolTipText(MouseEvent e)方法.这也显示了一个工具提示,但外观&我的应用程序中其他组件的工具提示的感觉与为Jtree节点显示的不同.
请参阅所需外观和附件的附图.感觉工具提示.此工具提示在JTabbedPane上设置.
以下是Jtree上显示的工具提示的屏幕截图:
我试过html标签,但这不起作用.我也试过设置外观&通过使用以下代码感觉Jtree节点工具提示,但这也不起作用.我在下面使用的颜色代码与上面所需工具提示中显示的颜色代码相同:
UIManager.put("ToolTip.background", new ColorUIResource(255, 247, 200)); // The color is #fff7c8.
Border border = BorderFactory.createLineBorder(new Color(76,79,83)); // The color is #4c4f53.
UIManager.put("ToolTip.border", border);
有人可以告诉我如何设置我的JTree工具提示,如上图所示?
解决方法:
您可以在树类中覆盖JTree中的createToolTip方法:
@Override
public JToolTip createToolTip()
{
JToolTip tooltip = super.createToolTip();
tooltip.setBorder(BorderFactory.createLineBorder(new Color(76,79,83)));
tooltip.setBackground(new Color(255, 247, 200));
return tooltip;
}
例:
import java.awt.Color;
import java.awt.event.MouseEvent;
import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JToolTip;
import javax.swing.JTree;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.TreeNode;
import javax.swing.tree.TreePath;
public class Main
{
public static void main(String[] args)
{
JFrame frame = new JFrame("Tooltip Example");
frame.setSize(500, 500);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Node root = new Node("Root", "Root Tooltip");
MyTree tree = new MyTree(root);
root.add(new Node("Child 1", "Tooltip 1"));
root.add(new Node("Child 2", "Tooltip 2"));
tree.setToolTipText(""); // The correct tooltips will be shown on each node.
frame.add(tree);
frame.setVisible(true);
}
}
class Node extends DefaultMutableTreeNode
{
String toolTip;
public Node(String name, String toolTip)
{
super(name);
this.toolTip = toolTip;
}
public String getToolTipText()
{
return toolTip;
}
}
class MyTree extends JTree
{
MyTree(TreeNode node)
{
super(node);
}
@Override
public JToolTip createToolTip()
{
JToolTip tooltip = super.createToolTip();
tooltip.setBorder(BorderFactory.createLineBorder(new Color(76,79,83)));
tooltip.setBackground(new Color(255, 247, 200));
return tooltip;
}
@Override
public String getToolTipText(MouseEvent event)
{
super.getToolTipText(event);
if(getRowForLocation(event.getX(), event.getY()) == -1)
return null;
TreePath path = getPathForLocation(event.getX(), event.getY());
return ((Node) path.getLastPathComponent()).getToolTipText();
}
}
内容总结
以上是互联网集市为您收集整理的java – 如何在Swing中设置工具提示的背景?全部内容,希望文章能够帮你解决java – 如何在Swing中设置工具提示的背景?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。