fontdisplay.java

来自「java2参考大全上的例子的源码和自己的理解.」· Java 代码 · 共 121 行

JAVA
121
字号
package fontdisplay;

/**
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2005</p>
 * <p>Company: </p>
 * @author not attributable
 * @version 1.0
 */

import java.awt.*;

class FontDisplay
    extends Frame {
  // TextArea object is a multi-line region that displays text.
  TextArea FontShower;
  public static void main(String args[]) {
    FontDisplay myFrame = new FontDisplay();
    myFrame.setTitle("FontDisplayer");
    myFrame.resize(450, 300);
    myFrame.show();
  }

  public FontDisplay() {
    setLayout(new BorderLayout(5, 5));
    FontShower = new TextArea("Font Display! ");
     add("West", new FontPanel(FontShower));//不会调
    add("Center", FontShower);
  }

  public boolean handleEvent(Event evt) {
    switch (evt.id) {
      case Event.WINDOW_DESTROY:
        dispose();
        System.exit(0);
      default:
        return super.handleEvent(evt);
    }
  }

  void updateFontShower() {
    area.setFont(new Font(CurrentFontName,
                          Font.PLAIN, CurrentSize));
  }

  public boolean handleEvent(Event evt) {
    switch (evt.id) {
      case Event.LIST_SELECT:
        List target = (List) evt.target;
        String itemName =
            target.getItem( ( (Integer) evt.arg).intValue());
        if (target == FontSelector) {
          CurrentFontName = itemName;
        }
        else {
          CurrentSize = Integer.parseInt(itemName);
        }
        String FontNames[] = {
            "Arial", "Courier New", "Times New Roman"};
        List FontSelector = new List();
        for (i = 0; i < FontNames.length; i++) {
          FontSelector.addItem(FontNames[i]);
        }
        add(FontSelector);
        List SizeSelector = new List();
        for (i = 6; i < 64; i += 2) {
          SizeSelector.addItem(String.valueOf(i));
        }
        add(SizeSelector);
    }
  }
        class FontPanel
            extends Panel {
          int CurrentSize = 20;
          String CurrentFontName;
          TextArea area; ;
          List FontSelector, SizeSelector;

          updateFontShower() {
            area.setFont(param1, param2, param3);
                         FontPanel(TextArea FS) {int i; //把另一个对象做参数
                         String FontNames[] = {"Arial", "Courier New",
                         "Times New Roman"};
                         setLayout(new GridLayout(2, 1, 5, 5));
                         FontSelector = new List();
                         for (i = 0; i < FontNames.length; i++) {
              FontSelector.addItem(FontNames[i]);
            }
            add(FontSelector); SizeSelector = new List();
                for (i = 6; i < 64; i += 2) {
              SizeSelector.addItem(String.valueOf(i));
            }
            add(SizeSelector); area = FS; CurrentFontName = FontNames[0];
      updateFontShower(); }
                         public boolean handleEvent(Event evt) {
              switch (evt.id) {
                case Event.LIST_SELECT:
                  List target = (List) evt.target;
                  String itemName =
                      target.getItem( ( (Integer) evt.arg).intValue());
                  if (target == FontSelector) {
                    CurrentFontName = itemName;
                  }
                  else {
                    CurrentSize = Integer.parseInt(itemName);
                  }
                  updateFontShower();
                  return true;
                default:
                  return super.handleEvent(evt);
              }
            }
            void updateFontShower() {
                area.setFont(new Font(CurrentFontName,
                                      Font.PLAIN, CurrentSize));
            }

          }
        }
        }

⌨️ 快捷键说明

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