• Java 获得applet参数学习笔记


    Java 获得applet参数学习笔记

    下面的例子演示了如何使用一个 Applet 响应来设置文件中指定的参数。该 Applet 显示了一个黑色棋盘图案和第二种颜色。

    第二种颜色和每一列的大小通过文档中的 Applet 的参数指定。

    CheckerApplet 在 init() 方法里得到它的参数。也可以在 paint() 方法里得到它的参数。然而,在 Applet 开始得到值并保存了设置,而不是每一次刷新的时候都得到值,这样是很方便,并且高效的。

    Applet viewer 或者浏览器在 Applet 每次运行的时候调用 init() 方法。在加载 Applet 之后,Viewer 立即调用 init() 方法(Applet.init()什么也没做),重写该方法的默认实现,添加一些自定义的初始化代码。

    Applet.getParameter() 方法通过给出参数名称得到参数值。如果得到的值是数字或者其他非字符数据,那么必须解析为字符串类型。

    下例是 CheckerApplet.java 的修改:

    CheckerApplet.java 文件代码:

    import java.applet.*;

    import java.awt.*;

    public class CheckerApplet extends Applet

    {

       int squareSize = 50;// 初始化默认大小

       public void init () {}

       private void parseSquareSize (String param) {}

       private Color parseColor (String param) {}

       public void paint (Graphics g) {}

    }

    下面是 CheckerApplet 类的 init() 方法和私有的 parseSquareSize() 方法:

    public void init ()

    {

       String squareSizeParam = getParameter ("squareSize");

       parseSquareSize (squareSizeParam);

       String colorParam = getParameter ("color");

       Color fg = parseColor (colorParam);

       setBackground (Color.black);

       setForeground (fg);

    }

    private void parseSquareSize (String param)

    {

       if (param == null) return;

       try {

          squareSize = Integer.parseInt (param);

       }

       catch (Exception e) {

         // 保留默认值

       }

    }

    该 Applet 调用 parseSquareSize(),来解析 squareSize 参数。parseSquareSize() 调用了库方法 Integer. parseInt() 该方法将一个字符串解析为一个整数,当参数无效的时候,Integer.parseInt() 抛出异常。

    因此,parseSquareSize() 方法也是捕获异常的,并不允许 Applet 接受无效的输入。

    Applet 调用 parseColor()方法将颜色参数解析为一个 Color 值。parseColor() 方法做了一系列字符串的比较,来匹配参数的值和预定义颜色的名字。你需要实现这些方法来使 Applet 工作。

  • 相关阅读:
    腾讯云标准型S5服务器五年优惠价格表(4核8G和2核4G)
    模拟网络延迟加载,添加正在加载中图标显示
    HTTP 的前世今生
    vue-router源码分析(下)
    面试灵活拷问:对于数据库的索引,你是怎么理解的?
    ELK配置记录
    【Redis面试题(46道)】
    VR虚拟展厅与传统实体展厅相比,有哪些优势?
    神经架构搜索的综合调查:挑战和解决方案(二)
    XLSReadWriteII 读取EXCEL数据 动态响应字段的列编号
  • 原文地址:https://blog.csdn.net/yingcai111/article/details/128127142