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

📄 addressdisplay.java

📁 Java程序设计技巧与开发实例附书源代码。
💻 JAVA
字号:

import java.awt.*;

public class AddressDisplay
    extends Canvas {
  private static Font FONT_LARGE = new Font("Serif", Font.BOLD, 16);
  private static Font FONT_PLAIN = new Font("Serif", Font.PLAIN, 12);
  private static FontMetrics METRICS_LARGE, METRICS_PLAIN;
  private Address address = null;

  public AddressDisplay() {
    super();
    METRICS_LARGE = getFontMetrics(FONT_LARGE);
    METRICS_PLAIN = getFontMetrics(FONT_PLAIN);
  }

  public void setText(Address _address) {
    address = _address;
    setSize(computeSize());
  }

  private Dimension computeSize() {
    int max = METRICS_LARGE.stringWidth(address.toString());
    for (int i = 2; i < address.getLabels().length; i++) {
      String text = address.getLabels()[i] + address.getAddress()[i];
      if (max < METRICS_PLAIN.stringWidth(text)) {
        max = METRICS_PLAIN.stringWidth(text);
      }
    }
    return new Dimension(max + 20, address.getLabels().length * 20);
  }

  public void paint(Graphics g) {
    if (address != null) {
      g.setFont(FONT_LARGE);
      g.setColor(Color.blue);
      g.drawString(address.toString(), 5, 20);
      for (int i = 2; i < address.getLabels().length; i++) {
        String text = address.getLabels()[i] + address.getAddress()[i];
        g.setFont(FONT_PLAIN);
        g.setColor(Color.black);
        g.drawString(text, 10, 20 * i);
      }
    }
  }
}

⌨️ 快捷键说明

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