⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 multilinetooltipui.java

📁 Swing Examples Sources Codes 里包含了Java Web开发的一些实例代码
💻 JAVA
字号:
/* (swing1.1beta3) */package jp.gr.java_conf.tame.swing.tooltip;import java.io.*;import java.util.*;import java.awt.*;import javax.swing.*;import javax.swing.plaf.metal.*;/** * @version 1.0 11/09/98 */public class MultiLineToolTipUI extends MetalToolTipUI {  private String[] strs;  private int maxWidth = 0;  public void paint(Graphics g, JComponent c) {    FontMetrics metrics = Toolkit.getDefaultToolkit().getFontMetrics(g.getFont());    Dimension size = c.getSize();    g.setColor(c.getBackground());    g.fillRect(0, 0, size.width, size.height);    g.setColor(c.getForeground());    if (strs != null) {      for (int i=0;i<strs.length;i++) {	g.drawString(strs[i], 3, (metrics.getHeight()) * (i+1));      }    }  }  public Dimension getPreferredSize(JComponent c) {    FontMetrics metrics = Toolkit.getDefaultToolkit().getFontMetrics(c.getFont());    String tipText = ((JToolTip)c).getTipText();    if (tipText == null) {      tipText = "";    }    BufferedReader br = new BufferedReader(new StringReader(tipText));    String line;    int maxWidth = 0;    Vector v = new Vector();    try {      while ((line = br.readLine()) != null) {	int width = SwingUtilities.computeStringWidth(metrics,line);	maxWidth = (maxWidth < width) ? width : maxWidth;	v.addElement(line);      }    } catch (IOException ex) {      ex.printStackTrace();    }       int lines = v.size();    if (lines < 1) {      strs = null;      lines = 1;    } else {      strs = new String[lines];      int i=0;      for (Enumeration e = v.elements(); e.hasMoreElements() ;i++) {        strs[i] = (String)e.nextElement();      }    }    int height = metrics.getHeight() * lines;    this.maxWidth = maxWidth;    return new Dimension(maxWidth + 6, height + 4);  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -