tags:

views:

27

answers:

3

How can i set the insets of a tooltip (java)?

I created a tooltip with a html formated text, this works fine, but i have no space between border and text. how can i set insets or an emptyborder...?

+2  A: 

Found this one article on how to change properties of Java ToolTip (background, border, etc.). It focusses on colors and borderstyle but maybe you can use this approach for margins (insets) too.

Andreas_D
thx ... it can be so easy ^^UIManager.put( "ToolTip.border", BorderFactory.createCompoundBorder( UIManager.getBorder( "ToolTip.border" ), BorderFactory.createEmptyBorder( 10, 10, 10, 10 ) ) );
tomkpunkt
Might not work with Nimbus LaF, because Nimbus does not read properties from UIManager. If you want to use Nimbus, use Nimbus.overrides client property to set Tooltip.border for Numbus, and UIManager for the rest - http://www.jasperpotts.com/blog/2008/08/skinning-a-slider-with-nimbus/
tulskiy
A: 

I've read this article and think it's helpful for you. It suggests setting Margin from a Component and like-wise features...

venJava
A: 

This works for me:

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JToolTip;
import javax.swing.border.EmptyBorder;

public class tooltipinsets {
  public static void main(String[] args) {
    JFrame window = new JFrame();
    JLabel lbl = new JLabel("Test") {
      @Override
      public JToolTip createToolTip() {
        return createCustomToolTip();
      }
    };
    window.add(lbl);
    lbl.setToolTipText("<html><b><i>This is the tooltip</i></b></html>");
    window.pack();
    window.setLocationRelativeTo(null);
    window.setVisible(true);
    window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }

  public static JToolTip createCustomToolTip() {
    JToolTip tip = new JToolTip();
    tip.setBorder(new EmptyBorder(10, 10, 10, 10));
    return tip;
  }
}
Syntax