J2ME 文字滚动

本文介绍了一种在图形界面上实现字符串从右向左滚动显示的技术。通过调整字符串位置和速度参数,配合屏幕剪裁区域,使字符串能够在指定区域内平滑滚动。此方法适用于需要动态显示提示信息的应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. private int tipStringPos = SCREEN_WIDTH; //当前字符串左边的位置
  2. private int tipStringSpeed = 2; //字符串移动速度
  3. private static final int TIPSTR_LEFT = 5 - 5; //左边消失绘制坐标
  4. private static final int TIPSTR_RIGHT = 123 + 5; //右边出现绘制坐标
  5.  
  6. private static final int FONT_HEIGHT = 11; //字体高度 font.getHeight() 不准确
  7.  
  8. /**
  9.  * @param Graphics g - 画刷
  10.  * @param String str - 所画字符串
  11.  * @param int height - 字符串高度
  12.  * @param int rectX - 剪裁区顶点X坐标
  13.  * @param int rectY - 剪裁区顶点Y坐标
  14.  * @param int rectWidth - 剪裁区宽度
  15.  * @param int rectHeight - 剪裁区高度
  16.  */
  17.  
  18. private void drawTipString ( Graphics g, String str, int height,
  19.                         int rectX, int rectY, int rectWidth, int rectHeight ) {
  20.         int strWidth = g. getFont ( ). stringWidth (str );
  21.         int strHeight = FONT_HEIGHT;
  22.        
  23.         tipStringPos -= tipStringSpeed;
  24.         if (tipStringPos + strWidth < TIPSTR_LEFT ) {
  25.                 tipStringPos = TIPSTR_RIGHT;
  26.         }
  27.  
  28.         //裁减区
  29.         int oldClipX = g. getClipX ( );
  30.         int oldClipY = g. getClipY ( );
  31.         int oldClipWidth = g. getClipWidth ( );
  32.         int oldClipHeight = g. getClipHeight ( );
  33.  
  34.         g. setClip (rectX, rectY, rectWidth, rectHeight );
  35.  
  36.         g. drawString (str, tipStringPos, height - strHeight / 2,
  37.                                   Graphics. LEFT | Graphics. TOP );
  38.         g. setClip (oldClipX, oldClipY, oldClipWidth, oldClipHeight );
  39. }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值