用 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);
   }
}

輸出如下所示。在此,我們顯示了滑鼠懸停時可見的多行工具提示文字 −

更新時間: 2019-07-30

612 次瀏覽

啟動你的職業生涯

完成課程後獲得認證

開始
廣告