用 Java 在组件的工具提示中显示多行文本
我们首先来看看如何设置组件中的工具提示文本 −
JLabel label3 = new JLabel("Password", SwingConstants.CENTER); label3.setToolTipText("Enter Password");
要在工具提示中显示多行文本,请使用 <html>。在此,我们用 HTML <br> 标记作换行符,将在工具提示中创建多行文本 −
label3.setToolTipText("<html>" + "This will create multiple lines for the" + "<br>" + "component! Yay!" + "</html>");
下面是一个在组件工具提示中显示多行文本的示例 −
示例
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("<html>" + "Add the id given to you" + "<br>" + "in the beginning!" + "</html>"); 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); } }
输出如下所示。在此,我们显示了鼠标悬停时可见的多行工具提示文本 −
广告