Display multiple lines of text in a component’s tooltip with Java

Let’s first see how we set text in a components tooltip −

JLabel label3 = new JLabel("Password", SwingConstants.CENTER);
label3.setToolTipText("Enter Password");

To display multiple lines of text in a tooltip, use . Here, we have used the HTML
tag for new line and that would create multiple lines of text in the tooltip −

label3.setToolTipText("" + "This will create multiple lines for the" + "
" + "component! Yay!" + "");

The following is an example to display multiple lines of text in a component’s tooltip −

Example

package my;
import java.awt.GraphicsEnvironment;
import java.awt.GridLayout;
import java.awt.Point;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.ToolTipManager;
public class SwingDemo {
   public static void main(String[] args) throws Exception {
      JFrame.setDefaultLookAndFeelDecorated(true);
      JFrame frame = new JFrame("Register!");
      JLabel label1, label2, label3;
      frame.setLayout(new GridLayout(2, 2));
      label1 = new JLabel("Id", SwingConstants.CENTER);
      label1.setToolTipText("" + "Add the id given to you" + "
" + "in the beginning!" + "");       label2 = new JLabel("Rank", SwingConstants.CENTER);       label2.setToolTipText("Enter rank");       label3 = new JLabel("Password", SwingConstants.CENTER);       label3.setToolTipText("Enter Password");       ToolTipManager.sharedInstance().setEnabled(false);       JTextField emailId = new JTextField(20);       JTextField rank = new JTextField(20);       JPasswordField passwd = new JPasswordField();       passwd.setEchoChar('*');       frame.add(label1);       frame.add(label2);       frame.add(label3);       frame.add(emailId);       frame.add(rank);       frame.add(passwd);       Point center = GraphicsEnvironment.getLocalGraphicsEnvironment().getCenterPoint();       int width = 500;       int height = 200;       frame.setBounds(center.x - width / 2, center.y - height / 2, width, height);       frame.setVisible(true);    } }

The output is as follows. Here, we are displaying the multi-line tooltip text visible on mouse hover −

Updated on: 2019-07-30T22:30:26+05:30

834 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements